]>
Commit | Line | Data |
---|---|---|
fc7e3b59 | 1 | |
811b0806 | 2 | |
fc7e3b59 | 3 | void ConfigGammaJet (TString inputfile = "files.txt" ) { |
4 | ||
5 | Int_t debugLevel = 0; | |
6 | ||
7 | gSystem->Load("libTree.so"); | |
8 | gSystem->Load("libPhysics.so"); | |
9 | gSystem->Load("libGeom.so"); | |
10 | gSystem->Load("libVMC.so"); | |
11 | gSystem->Load("libSTEERBase.so"); | |
12 | gSystem->Load("libESD.so"); | |
13 | gSystem->Load("libAOD.so"); | |
14 | gSystem->Load("libANALYSIS"); | |
15 | gSystem->Load("libANALYSISalice"); | |
16 | gSystem->Load("libJETAN.so"); | |
17 | gSystem->Load("libPWG4GammaConv.so"); | |
18 | gSystem->AddIncludePath("-I$ALICE_ROOT/include"); | |
19 | ||
20 | ||
21 | TChain * chain = createAODChain (inputfile); | |
22 | if(!chain) { | |
23 | cout << "Errror in chain cration"<<endl; | |
24 | return -1; | |
25 | } | |
26 | ||
27 | AliAODInputHandler * inpHandler = new AliAODInputHandler(); | |
28 | inpHandler->AddFriend("AliAODGammaConversion.root"); | |
29 | ||
30 | AliAnalysisManager *mgr = new AliAnalysisManager("GammaJet Manager", "GammaJet Manager"); | |
31 | mgr->SetInputEventHandler (inpHandler); | |
32 | mgr->SetDebugLevel(debugLevel); | |
33 | ||
34 | AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer(); | |
35 | AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(), AliAnalysisManager::kOutputContainer, "histos.root"); | |
36 | ||
37 | // AliAnaConvIsolation * iso3 = new AliAnaConvIsolation(0.7, 0.5, 0.5, 0.5, 0.5); | |
38 | // gammaJetAna->AddIsolationAna(dynamic_cast<TObject*>(iso3)); | |
39 | ||
40 | ||
41 | AliAnalysisTaskGammaJet * gammaJetAna = new AliAnalysisTaskGammaJet("gamma jet analysis"); | |
42 | gammaJetAna->SetDebugLevel(0); | |
811b0806 | 43 | //gammaJetAna->SetConversionCutId("90022670901120321036000000090"); |
44 | gammaJetAna->SetGammaCutId("90035620801003321136000000090"); | |
45 | gammaJetAna->SetPionCutId("90036620801003321136000000090"); | |
46 | ||
fc7e3b59 | 47 | gammaJetAna->SetMinNTracks(0); |
48 | mgr->AddTask(gammaJetAna); | |
49 | ||
50 | AliAnaConvIsolation * isolation = gammaJetAna->GetIsolation(); | |
51 | isolation->SetMaxPtThreshold(0.7); | |
52 | isolation->SetSumPtThreshold(2.5); | |
53 | isolation->SetSumPtFraction(0.1); | |
54 | isolation->SetConeSize(0.4); | |
55 | ||
56 | AliAnaConvCorrPhoton * ghAna = new AliAnaConvCorrPhoton("photon_wDec"); | |
57 | ghAna->DoDecayParticles(); | |
58 | gammaJetAna->AddPhotonHadronAna(dynamic_cast<TObject*>(ghAna)); | |
59 | ||
60 | AliAnaConvCorrPhoton * ghAna2 = new AliAnaConvCorrPhoton("photon_noDec"); | |
61 | ghAna2->SkipDecayParticles(); | |
62 | gammaJetAna->AddPhotonHadronAna(dynamic_cast<TObject*>(ghAna2)); | |
63 | ||
811b0806 | 64 | AliAnaConvCorrPhoton * ghAna3 = new AliAnaConvCorrPhoton("photon_DecOnly"); |
65 | ghAna3->DoDecayOnly(); | |
66 | gammaJetAna->AddPhotonHadronAna(dynamic_cast<TObject*>(ghAna3)); | |
67 | ||
fc7e3b59 | 68 | AliAnaConvCorrPion * gPiAna = new AliAnaConvCorrPion("pionHadron"); |
69 | gammaJetAna->AddPionHadronAna(dynamic_cast<TObject*>(gPiAna)); | |
70 | ||
71 | inpHandler->AddFriend("AliAODs.pwg4jets.root"); | |
72 | AliAnaConvCorrPhotonJet* gJetAna = new AliAnaConvCorrPhotonJet("photonJet"); | |
fc7e3b59 | 73 | gammaJetAna->AddPhotonJetAna(gJetAna); |
811b0806 | 74 | |
75 | AliAnaConvCorrPionJet* pJetAna = new AliAnaConvCorrPionJet("pionJet"); | |
76 | gammaJetAna->AddPionJetAna(pJetAna); | |
fc7e3b59 | 77 | |
78 | mgr->ConnectInput (gammaJetAna, 0, cinput1 ); | |
79 | mgr->ConnectOutput (gammaJetAna, 1, coutput2 ); | |
80 | ||
81 | mgr->InitAnalysis(); | |
82 | mgr->PrintStatus(); | |
811b0806 | 83 | //mgr->StartAnalysis("local",chain); |
84 | mgr->StartAnalysis("local",chain, 100000); | |
85 | ||
fc7e3b59 | 86 | } |
87 | ||
88 | ||
89 | ///_________________________________________________________________________________________ | |
90 | TChain * createAODChain (TString inputfile = "allfiles.txt") { | |
91 | ||
92 | chain = new TChain("aodTree"); | |
93 | ||
94 | TString line; | |
95 | ifstream in; | |
96 | in.open(inputfile.Data()); | |
97 | while (in.good()) { | |
98 | in >> line; | |
99 | if (line.Length() == 0) continue; | |
100 | chain->Add(line.Data()); | |
101 | } | |
102 | ||
103 | return chain; | |
104 | ||
105 | } |