<commit_before>//
//Few substructure observables to try with the new PbPb data
//
// 
//
#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TTree.h>
#include <TList.h>
#include <TLorentzVector.h>
#include <TProfile.h>
#include <TChain.h>
#include <TSystem.h>
#include <TFile.h>
#include <TKey.h>
#include <AliAnalysisDataSlot.h>
#include <AliAnalysisDataContainer.h>
#include "TMatrixD.h"
#include "TMatrixDSym.h"
#include "TMatrixDSymEigen.h"
#include "TVector3.h"
#include "TVector2.h"
#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliLog.h"
#include "AliEmcalParticle.h"
#include "AliMCEvent.h"
#include "AliGenPythiaEventHeader.h"
#include "AliAODMCHeader.h"
#include "AliMCEvent.h"
#include "AliAnalysisManager.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"
#include "AliEmcalPythiaInfo.h"
#include "TRandom3.h"



#include "AliAODEvent.h"
#include "AliAnalysisTaskNewJetSubstructure.h"

using std::cout;
using std::endl;

ClassImp(AliAnalysisTaskNewJetSubstructure)

//________________________________________________________________________
AliAnalysisTaskNewJetSubstructure::AliAnalysisTaskNewJetSubstructure() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskNewJetSubstructure", kTRUE),
  fContainer(0),
  fMinFractionShared(0),
  fJetShapeType(kData),
  fJetShapeSub(kNoSub),
  fJetSelection(kInclusive),
  fPtThreshold(-9999.),
  fRMatching(0.2),
  fCentSelectOn(kTRUE),
  fCentMin(0),
  fCentMax(10),
  fOneConstSelectOn(kFALSE),
  fTrackCheckPlots(kFALSE),
  fCheckResolution(kFALSE),
  fSubjetCutoff(0.1),
  fMinPtConst(1),
  fHardCutoff(0),
  fDoTwoTrack(kFALSE),
  fDoAreaIterative(kTRUE),
  fPhiCutValue(0.02),
  fEtaCutValue(0.02),
  fMagFieldPolarity(1),
  fDerivSubtrOrder(0),
  fHLundIterative(0x0),
  fHCheckResolutionSubjets(0x0),
  fTreeSubstructure(0)

{
   for(Int_t i=0;i<10;i++){
    fShapesVar[i]=0;}
  SetMakeGeneralHistograms(kTRUE);
  DefineOutput(1, TList::Class());
  DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskNewJetSubstructure::AliAnalysisTaskNewJetSubstructure(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),
  fContainer(0),
  fMinFractionShared(0),
  fJetShapeType(kData),
  fJetShapeSub(kNoSub),
  fJetSelection(kInclusive),
  fPtThreshold(-9999.),
  fRMatching(0.2),
  fCentSelectOn(kTRUE),
  fCentMin(0),
  fCentMax(10),
  fOneConstSelectOn(kFALSE),
  fTrackCheckPlots(kFALSE),
  fCheckResolution(kFALSE),
  fSubjetCutoff(0.1),
  fMinPtConst(1),
  fHardCutoff(0),
  fDoTwoTrack(kFALSE),
  fDoAreaIterative(kTRUE),
  fPhiCutValue(0.02),
  fEtaCutValue(0.02),
  fMagFieldPolarity(1),
  fDerivSubtrOrder(0),
  fHLundIterative(0x0),
  fHCheckResolutionSubjets(0x0),  
  fTreeSubstructure(0)
  
{
  // Standard constructor.
  for(Int_t i=0;i<10;i++){
    fShapesVar[i]=0;}
  SetMakeGeneralHistograms(kTRUE);
  
 DefineOutput(1, TList::Class());
 DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskNewJetSubstructure::~AliAnalysisTaskNewJetSubstructure()
{
  // Destructor.
}

//________________________________________________________________________
 void AliAnalysisTaskNewJetSubstructure::UserCreateOutputObjects()
{
  // Create user output.

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  Bool_t oldStatus = TH1::AddDirectoryStatus();
  TH1::AddDirectory(kFALSE);

  //log(1/theta),log(kt),jetpT,depth, tf, omega// 
   const Int_t dimSpec   = 6;
   const Int_t nBinsSpec[6]     = {50,100,100,20,100,100};
   const Double_t lowBinSpec[6] = {0.,-10,0,0,0,0};
   const Double_t hiBinSpec[6]  = {5.,10.,100,20,100,100};
   fHLundIterative = new THnSparseF("fHLundIterative",
                   "LundIterativePlot [log(1/theta),log(z*theta),pTjet,algo]",
                   dimSpec,nBinsSpec,lowBinSpec,hiBinSpec);
  fOutput->Add(fHLundIterative);


  //// 
   const Int_t dimResol   = 5;
   const Int_t nBinsResol[5]     = {10,10,80,80,80};
   const Double_t lowBinResol[5] = {0,0,-1,-1,-1};
   const Double_t hiBinResol[5]  = {200,0.3,1,1,1};
   fHCheckResolutionSubjets = new THnSparseF("fHCheckResolutionSubjets",
                   "Mom.Resolution of Subjets vs opening angle",
					     dimResol,nBinsResol,lowBinResol,hiBinResol);
  fOutput->Add(fHCheckResolutionSubjets);


  
  
 
  <commit_msg>forgot to define the histogram<commit_after>//
//Few substructure observables to try with the new PbPb data
//
// 
//
#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TTree.h>
#include <TList.h>
#include <TLorentzVector.h>
#include <TProfile.h>
#include <TChain.h>
#include <TSystem.h>
#include <TFile.h>
#include <TKey.h>
#include <AliAnalysisDataSlot.h>
#include <AliAnalysisDataContainer.h>
#include "TMatrixD.h"
#include "TMatrixDSym.h"
#include "TMatrixDSymEigen.h"
#include "TVector3.h"
#include "TVector2.h"
#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliLog.h"
#include "AliEmcalParticle.h"
#include "AliMCEvent.h"
#include "AliGenPythiaEventHeader.h"
#include "AliAODMCHeader.h"
#include "AliMCEvent.h"
#include "AliAnalysisManager.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"
#include "AliEmcalPythiaInfo.h"
#include "TRandom3.h"



#include "AliAODEvent.h"
#include "AliAnalysisTaskNewJetSubstructure.h"

using std::cout;
using std::endl;

ClassImp(AliAnalysisTaskNewJetSubstructure)

//________________________________________________________________________
AliAnalysisTaskNewJetSubstructure::AliAnalysisTaskNewJetSubstructure() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskNewJetSubstructure", kTRUE),
  fContainer(0),
  fMinFractionShared(0),
  fJetShapeType(kData),
  fJetShapeSub(kNoSub),
  fJetSelection(kInclusive),
  fPtThreshold(-9999.),
  fRMatching(0.2),
  fCentSelectOn(kTRUE),
  fCentMin(0),
  fCentMax(10),
  fOneConstSelectOn(kFALSE),
  fTrackCheckPlots(kFALSE),
  fCheckResolution(kFALSE),
  fSubjetCutoff(0.1),
  fMinPtConst(1),
  fHardCutoff(0),
  fDoTwoTrack(kFALSE),
  fDoAreaIterative(kTRUE),
  fPhiCutValue(0.02),
  fEtaCutValue(0.02),
  fMagFieldPolarity(1),
  fDerivSubtrOrder(0),
  fPtJet(0x0),
  fHLundIterative(0x0),
  fHCheckResolutionSubjets(0x0),
  fTreeSubstructure(0)

{
   for(Int_t i=0;i<10;i++){
    fShapesVar[i]=0;}
  SetMakeGeneralHistograms(kTRUE);
  DefineOutput(1, TList::Class());
  DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskNewJetSubstructure::AliAnalysisTaskNewJetSubstructure(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),
  fContainer(0),
  fMinFractionShared(0),
  fJetShapeType(kData),
  fJetShapeSub(kNoSub),
  fJetSelection(kInclusive),
  fPtThreshold(-9999.),
  fRMatching(0.2),
  fCentSelectOn(kTRUE),
  fCentMin(0),
  fCentMax(10),
  fOneConstSelectOn(kFALSE),
  fTrackCheckPlots(kFALSE),
  fCheckResolution(kFALSE),
  fSubjetCutoff(0.1),
  fMinPtConst(1),
  fHardCutoff(0),
  fDoTwoTrack(kFALSE),
  fDoAreaIterative(kTRUE),
  fPhiCutValue(0.02),
  fEtaCutValue(0.02),
  fMagFieldPolarity(1),
  fDerivSubtrOrder(0),
  fPtJet(0x0),
  fHLundIterative(0x0),
  fHCheckResolutionSubjets(0x0),  
  fTreeSubstructure(0)
  
{
  // Standard constructor.
  for(Int_t i=0;i<10;i++){
    fShapesVar[i]=0;}
  SetMakeGeneralHistograms(kTRUE);
  
 DefineOutput(1, TList::Class());
 DefineOutput(2, TTree::Class());
}

//________________________________________________________________________
AliAnalysisTaskNewJetSubstructure::~AliAnalysisTaskNewJetSubstructure()
{
  // Destructor.
}

//________________________________________________________________________
 void AliAnalysisTaskNewJetSubstructure::UserCreateOutputObjects()
{
  // Create user output.

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  Bool_t oldStatus = TH1::AddDirectoryStatus();
  TH1::AddDirectory(kFALSE);

  fPtJet= new TH1F("fPtJet", "fPtJet", 100, 0, 200);
  fOutput->Add(fPtJet); 
  
  //log(1/theta),log(kt),jetpT,depth, tf, omega// 
   const Int_t dimSpec   = 6;
   const Int_t nBinsSpec[6]     = {50,100,100,20,100,100};
   const Double_t lowBinSpec[6] = {0.,-10,0,0,0,0};
   const Double_t hiBinSpec[6]  = {5.,10.,100,20,100,100};
   fHLundIterative = new THnSparseF("fHLundIterative",
                   "LundIterativePlot [log(1/theta),log(z*theta),pTjet,algo]",
                   dimSpec,nBinsSpec,lowBinSpec,hiBinSpec);
  fOutput->Add(fHLundIterative);


  //// 
   const Int_t dimResol   = 5;
   const Int_t nBinsResol[5]     = {10,10,80,80,80};
   const Double_t lowBinResol[5] = {0,0,-1,-1,-1};
   const Double_t hiBinResol[5]  = {200,0.3,1,1,1};
   fHCheckResolutionSubjets = new THnSparseF("fHCheckResolutionSubjets",
                   "Mom.Resolution of Subjets vs opening angle",
					     dimResol,nBinsResol,lowBinResol,hiBinResol);
  fOutput->Add(fHCheckResolutionSubjets);


  
  
 
  
{'fraction_non_alphanumeric': 0.13631346578366446, 'fraction_numerical': 0.033554083885209716, 'mean_word_length': 5.741815476190476, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 38, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6125986', 'n_tokens_mistral': 3612, 'n_tokens_neox': 3384, 'n_words': 476}