Corrected analysis configuration and execution files after changes in PartCorr frame...
[u/mrichter/AliRoot.git] / PWG4 / macros / ConfigAnalysisGammaJetLCCorrelation.C
CommitLineData
bc636d26 1/* $Id: $ */
2
3//------------------------------------
4// Configuration macro example:
5//
3e0577a2 6// Do prompt photon - jet correlation analysis with ESDs
7// First find photons with AliAnaPhoton, then
8// isolate them with AliAnaParticleIsolation and finally correlate
9// them with AliAnaParticleJetLeadingConeCorrelation
bc636d26 10//
11// Author : Gustavo Conesa Balbastre (INFN-LNF)
12//------------------------------------
13
c90ac396 14AliAnaPartCorrMaker* ConfigAnalysis()
bc636d26 15{
3e0577a2 16 //
17 // Configuration goes here
18 //
19 printf("======================== \n");
20 printf("ConfigAnalysis() \n");
21 printf("======================== \n");
22
23
24 //Detector Fidutial Cuts
25 AliFidutialCut * fidCut = new AliFidutialCut();
26 fidCut->DoCTSFidutialCut(kTRUE) ;
27 fidCut->DoEMCALFidutialCut(kTRUE) ;
28 fidCut->DoPHOSFidutialCut(kTRUE) ;
29
30 fidCut->SetSimpleCTSFidutialCut(0.9,0.,360.);
31 fidCut->SetSimpleEMCALFidutialCut(0.7,80.,190.);
32 fidCut->SetSimplePHOSFidutialCut(0.13,220.,320.);
33
34 fidCut->Print("");
35
36 //-----------------------------------------------------------
37 // Reader
38 //-----------------------------------------------------------
39 AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();
40 reader->SetDebug(-1);
41
42 //Switch on or off the detectors information that you want
43 reader->SwitchOnEMCAL();
44 reader->SwitchOnCTS();
45 reader->SwitchOnPHOS();
46
47 //Min particle pT
48 reader->SetEMCALPtMin(0.5);
49 reader->SetPHOSPtMin(0.5);
50 reader->SetCTSPtMin(0.2);
51
52 reader->SetFidutialCut(fidCut);
53 reader->Print("");
54
55
56 //---------------------------------------------------------------------
57 // Analysis algorithm
58 //---------------------------------------------------------------------
59 //<<<< first analysis >>> select the photons
60 //Detector Fidutial Cuts for analysis part
61 AliFidutialCut * fidCut2 = new AliFidutialCut();
62 fidCut2->DoCTSFidutialCut(kFALSE) ;
63 fidCut2->DoEMCALFidutialCut(kTRUE) ;
64 fidCut2->DoPHOSFidutialCut(kFALSE) ;
65
66 fidCut2->SetSimpleCTSFidutialCut(0.9,0.,360.);
67 fidCut2->SetSimpleEMCALFidutialCut(0.7,80.,190.);
68 fidCut2->SetSimplePHOSFidutialCut(0.13,220.,320.);
69 fidCut2->Print("");
70
71 AliCaloPID * pid = new AliCaloPID();
72 // use selection with simple weights
73 pid->SetPHOSPhotonWeight(0.7); pid->SetPHOSPi0Weight(0.7);
74 pid->SetEMCALPhotonWeight(0.7); pid->SetEMCALPi0Weight(0.7);
75
76 pid->Print("");
77
78 AliAnaPhoton *anaphoton = new AliAnaPhoton();
79 anaphoton->SetDebug(-1); //10 for lots of messages
80 anaphoton->SetMinPt(0.2);
81 anaphoton->SetMinDistanceToBadChannel(2, 4, 5);
82 anaphoton->SetCaloPID(pid);
83 anaphoton->SetFidutialCut(fidCut2); //More acceptance selections if needed at this level
84 anaphoton->SetCalorimeter("PHOS");
85 anaphoton->SwitchOffDataMC() ;//Access MC stack and fill more histograms
86 anaphoton->SwitchOnCaloPID();
87 anaphoton->SwitchOffCaloPIDRecalculation(); //recommended for EMCAL
88 anaphoton->SwitchOnFidutialCut();
89 anaphoton->SetOutputAODName("Photons");
90 anaphoton->SetOutputAODClassName("AliAODPWG4ParticleCorrelation");
91 //Set Histrograms bins and ranges
92 // anaphoton->SetHistoPtRangeAndNBins(0, 50, 100) ;
93 // anaphoton->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
94 // anaphoton->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;
95 anaphoton->Print("");
96
97 // >>>> Second Analysis <<<< Isolate the photons
98 AliIsolationCut * ic = new AliIsolationCut();
99 ic->SetConeSize(0.5);
100 ic->SetPtThreshold(1.);
101 ic->SetICMethod(AliIsolationCut::kPtThresIC);
102 ic->Print("");
103
104 AliAnaParticleIsolation *anaisol = new AliAnaParticleIsolation();
105 anaisol->SetDebug(-1);
106 anaisol->SetMinPt(5);
107 anaisol->SetInputAODName("Photons");
108 anaisol->SetCalorimeter("PHOS");
109 anaisol->SwitchOffDataMC() ;//Access MC stack and fill more histograms
110 //Select clusters with no pair, if both clusters with pi0 mass
111 anaisol->SwitchOffInvariantMass();
112 //anaisol->SetNeutralMesonSelection(nms);
113 //Do isolation cut
114 anaisol->SetIsolationCut(ic);
115 //Do or not do isolation with previously produced AODs.
116 //No effect if use of SwitchOnSeveralIsolation()
117 anaisol->SwitchOffReIsolation();
118 //Multiple IC
119 anaisol->SwitchOffSeveralIsolation() ;
120
121 anaisol->Print("");
122
123 //<<<Third analysis>>> Isolated Photon- Jet Leading in opposite Cone correlation
124 AliAnaParticleJetLeadingConeCorrelation *anacorr = new AliAnaParticleJetLeadingConeCorrelation();
125 anacorr->SetDebug(-1);
126 anacorr->SetInputAODName("Photons");
127 anacorr->SwitchOnCaloPID();
128 anacorr->SwitchOnCaloPIDRecalculation(); //recommended for EMCAL
129 anacorr->SwitchOffFidutialCut();
130 anacorr->SwitchOffJetsOnlyInCTS();
131 anacorr->SwitchOffJetsRecalculation();
132 //Analysis cuts for leading particle selection
133 anacorr->SetDeltaPhiCutRange(1.5,4.5); //Back-Leading particle angular cut
134 anacorr->SetLeadingRatioCutRange(0.,3);//Cut for the momentum of leading
135 //Analysis cuts for jet selection
136 anacorr->SetppCollisions(); //Jet particles Pt threshold for different collisions
137 anacorr->SetCone(0.7); //Jet cone size
138 anacorr->SetJetPtThreshold(0.2); //Jet particle threshold
139 anacorr->SetJetRatioCutRange(0.7, 1.3);//Only if SwitchOffJetsOnlyInCTS(); and SetJetSelectionMode(2)
140 anacorr->SetJetCTSRatioCutRange(0.3,1.3); //Only if SwitchOnJetsOnlyInCTS(); and SetJetSelectionMode(2)
bc636d26 141
3e0577a2 142 anacorr->Print("");
143 //---------------------------------------------------------------------
144 // Set analysis algorithm and reader
145 //---------------------------------------------------------------------
146 maker = new AliAnaPartCorrMaker();
147 maker->SetReader(reader);//pointer to reader
148 maker->AddAnalysis(anaphoton,0);
149 maker->AddAnalysis(anaisol,1);
150 maker->AddAnalysis(anacorr,2);
151 maker->SetAnaDebug(-1) ;
152 maker->SwitchOnHistogramsMaker() ;
153 maker->SwitchOnAODsMaker() ;
154
155 maker->Print("");
156 //
157 printf("======================== \n");
158 printf("END ConfigAnalysis() \n");
159 printf("======================== \n");
160 return maker ;
bc636d26 161}
162