]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/macros/ConfigAnalysisOmegaToPi0Gamma.C
new correlation histogramming, Paul Constantin
[u/mrichter/AliRoot.git] / PWG4 / macros / ConfigAnalysisOmegaToPi0Gamma.C
CommitLineData
a946aa14 1AliAnaPartCorrMaker* ConfigAnalysis()
2{
3 //
4 // Configuration goes here
5 //
6 printf("======================== \n");
7 printf("ConfigAnalysis() \n");
8 printf("======================== \n");
9
4007d0a2 10 //Detector Fidutial Cuts
ff45398a 11 AliFiducialCut * fidCut = new AliFiducialCut();
4007d0a2 12 fidCut->DoCTSFiducialCut(kTRUE) ;
ff45398a 13 fidCut->DoEMCALFiducialCut(kTRUE) ;
14 fidCut->DoPHOSFiducialCut(kTRUE) ;
a946aa14 15
4007d0a2 16 fidCut->SetSimpleCTSFiducialCut(0.9,0.,360.);
ff45398a 17 fidCut->SetSimpleEMCALFiducialCut(0.7,80.,190.);
18 fidCut->SetSimplePHOSFiducialCut(0.12,220.,320.);
a946aa14 19
20 fidCut->Print("");
21
22 //-----------------------------------------------------------
23 // Reader
24 //-----------------------------------------------------------
25 AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();
26 reader->SetDebug(-1);//10 for lots of messages
27
28 //Switch on or off the detectors information that you want
29 reader->SwitchOnPHOS();
30 reader->SwitchOnEMCAL();
4007d0a2 31 reader->SwitchOnCTS();
a946aa14 32
33 //Min particle pT
4007d0a2 34 reader->SetEMCALPtMin(0.5);
35 reader->SetPHOSPtMin(0.5);
36 reader->SetCTSPtMin(0.5);
a946aa14 37
ff45398a 38 reader->SetFiducialCut(fidCut);
a946aa14 39 reader->Print("");
40
41
42 //---------------------------------------------------------------------
43 // Analysis algorithm
44 //---------------------------------------------------------------------
45
46 AliCaloPID * pid = new AliCaloPID();
47 // use selection with simple weights
48 //pid->SetEMCALPhotonWeight(0.7); pid->SetEMCALPi0Weight(0.7);
49 pid->SetPHOSPhotonWeight(0.7); pid->SetPHOSPi0Weight(0.7);
50 pid->SetDispersionCut(2);
51 pid->SetTOFCut(5.e-9);
52 pid->SetDebug(-1);
53 pid->Print("");
54
55 AliAnaPhoton *anaphoton = new AliAnaPhoton();
56 anaphoton->SetDebug(-1); //10 for lots of messages
4007d0a2 57 anaphoton->SetMinPt(0.1);
a946aa14 58 anaphoton->SetMinDistanceToBadChannel(2, 4, 5);
59 anaphoton->SetCaloPID(pid);
ff45398a 60// anaphoton->SetFiducialCut(fidCut); //More acceptance selections if needed at this level
a946aa14 61 anaphoton->SetCalorimeter("PHOS");
62 anaphoton->SwitchOffDataMC() ;//Access MC stack and fill more histograms
63 anaphoton->SwitchOffCaloPID();
64 anaphoton->SwitchOffCaloPIDRecalculation(); //recommended for EMCAL
ff45398a 65 anaphoton->SwitchOffFiducialCut();
a946aa14 66 anaphoton->SetOutputAODName("PhotonsPHOS");
67 anaphoton->SetOutputAODClassName("AliAODPWG4Particle");
68 anaphoton->AddToHistogramsName("AnaPhotonPHOS_");
69 //Set Histrograms bins and ranges
70 anaphoton->SetHistoPtRangeAndNBins(0, 50, 100) ;
71 anaphoton->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
72 anaphoton->SetHistoEtaRangeAndNBins(-0.2, 0.2, 100) ;
73 anaphoton->Print("");
74
75 fidCut->Print("");
76
77 // >>> Second Analysis <<<
78
79 AliNeutralMesonSelection *nms = new AliNeutralMesonSelection();
4007d0a2 80 nms->SetInvMassCutRange(0.11, 0.16) ;
a946aa14 81 nms->KeepNeutralMesonSelectionHistos(kTRUE);
82 //Set Histrograms bins and ranges
a946aa14 83
4007d0a2 84 AliAnaPi0EbE *anapi0EbE = new AliAnaPi0EbE();
85 anapi0EbE->SetDebug(-1);//10 for lots of messages
86 anapi0EbE->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
87 anapi0EbE->SetInputAODName("PhotonsPHOS");
88 anapi0EbE->SetOutputAODName("Pi0sPHOS");
89 anapi0EbE->SetOutputAODClassName("AliAODPWG4Particle");
90 anapi0EbE->SwitchOffDataMC() ;//Access MC stack and fill more histograms
91 anapi0EbE->SetNeutralMesonSelection(nms);
92 anapi0EbE->AddToHistogramsName("AnaPi0EbEPHOS_");
a946aa14 93 //Set Histrograms bins and ranges
4007d0a2 94
95 anapi0EbE->Print("");
a946aa14 96
97 AliAnaOmegaToPi0Gamma *anaomega = new AliAnaOmegaToPi0Gamma();
98 anaomega->SetDebug(-1);//10 for lots of messages
99 anaomega->SetInputAODName("Pi0sPHOS");
100 anaomega->SetInputAODPhotonName("PhotonsPHOS");
4007d0a2 101 anaomega->SetNPID(2);
102 anaomega->SetNVtxZ(2);
103 anaomega->SetNBadChDist(1);
a946aa14 104 anaomega->SetNEventsMixed(4);
4007d0a2 105 anaomega->SetPi0MassPeakWidthCut(0.008); //
106 anaomega->SetHistoPtRangeAndNBins(0, 10, 200) ;
107 anaomega->SetHistoMassRangeAndNBins(0, 1, 200) ;
108 anaomega->SetPi0OverOmegaPtCut(0.8);
109 anaomega->SetGammaOverOmegaPtCut(0.2);
ff45398a 110 anaomega->SwitchOnFiducialCut();
4007d0a2 111 anaomega->SwitchOffDataMC() ;//Access MC stack and fill more histograms
112 anaomega->AddToHistogramsName("AnaOmegaToPi0GammaPHOS_");
a946aa14 113 anaomega->Print("");
114
a946aa14 115//for EMCAL
116 AliCaloPID * pid1 = new AliCaloPID();
117 // use selection with simple weights
118 pid1->SetEMCALPhotonWeight(0.7); pid1->SetEMCALPi0Weight(0.7);
119 pid1->SetDispersionCut(2);
120 pid1->SetTOFCut(5.e-9);
121 pid1->SetDebug(-1);
122 pid1->Print("");
123
124 AliAnaPhoton *anaphoton1 = new AliAnaPhoton();
125 anaphoton1->SetDebug(-1); //10 for lots of messages
4007d0a2 126 anaphoton1->SetMinPt(0.1);
a946aa14 127 anaphoton1->SetMinDistanceToBadChannel(2, 4, 5);
128 anaphoton1->SetCaloPID(pid);
129 anaphoton1->SetCalorimeter("EMCAL");
130 anaphoton1->SwitchOffDataMC() ;//Access MC stack and fill more histograms
131 anaphoton1->SwitchOffCaloPID();
132 anaphoton1->SwitchOffCaloPIDRecalculation(); //recommended for EMCAL
ff45398a 133 anaphoton1->SwitchOffFiducialCut();
a946aa14 134 anaphoton1->SetOutputAODName("PhotonsEMCAL");
135 anaphoton1->SetOutputAODClassName("AliAODPWG4Particle");
136 anaphoton1->AddToHistogramsName("AnaPhotonEMCAL_");
137 //Set Histrograms bins and ranges
138 anaphoton1->SetHistoPtRangeAndNBins(0, 50, 100) ;
139 anaphoton1->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;
140 anaphoton1->SetHistoEtaRangeAndNBins(-0.8, 0.8, 100) ;
141 anaphoton1->Print("");
142
143 AliNeutralMesonSelection *nms1 = new AliNeutralMesonSelection();
4007d0a2 144 nms1->SetInvMassCutRange(0.11, 0.16) ;
a946aa14 145 nms1->KeepNeutralMesonSelectionHistos(kTRUE);
146 //Set Histrograms bins and ranges
a946aa14 147
4007d0a2 148 AliAnaPi0EbE *anapi0EbEEbE1 = new AliAnaPi0EbE();
149 anapi0EbEEbE1->SetDebug(-1);//10 for lots of messages
150 anapi0EbEEbE1->SetAnalysisType(AliAnaPi0EbE::kIMCalo);
151 anapi0EbEEbE1->SetInputAODName("PhotonsEMCAL");
152 anapi0EbEEbE1->SetOutputAODName("Pi0sEMCAL");
153 anapi0EbEEbE1->SetOutputAODClassName("AliAODPWG4Particle");
154 anapi0EbEEbE1->SwitchOffDataMC() ;//Access MC stack and fill more histograms
155 anapi0EbEEbE1->SetNeutralMesonSelection(nms1);
156 anapi0EbEEbE1->AddToHistogramsName("AnaPi0EbEEMCAL_");
a946aa14 157 //Set Histrograms bins and ranges
4007d0a2 158 anapi0EbEEbE1->Print("");
159
a946aa14 160
161 AliAnaOmegaToPi0Gamma *anaomega1 = new AliAnaOmegaToPi0Gamma();
162 anaomega1->SetDebug(-1);//10 for lots of messages
163 anaomega1->SetInputAODName("Pi0sEMCAL");
164 anaomega1->SetInputAODPhotonName("PhotonsEMCAL");
4007d0a2 165 anaomega1->SetNPID(2);
166 anaomega1->SetNVtxZ(2);
167 anaomega1->SetNBadChDist(1);
a946aa14 168 anaomega1->SetNEventsMixed(4);
a946aa14 169 anaomega1->SetPi0MassPeakWidthCut(0.015);
4007d0a2 170 anaomega1->SetHistoPtRangeAndNBins(0, 10, 200) ;
171 anaomega1->SetHistoMassRangeAndNBins(0, 1, 200) ;
172 anaomega1->SetPi0OverOmegaPtCut(0.8);
173 anaomega1->SetGammaOverOmegaPtCut(0.2);
ff45398a 174 anaomega1->SwitchOnFiducialCut();
4007d0a2 175 anaomega1->SwitchOffDataMC() ;//Access MC stack and fill more histograms
176 anaomega1->AddToHistogramsName("AnaOmegaToPi0GammaEMCAL_");
a946aa14 177 anaomega1->Print("");
178
a946aa14 179 //---------------------------------------------------------------------
180 // Set analysis algorithm and reader
181 //---------------------------------------------------------------------
182 maker = new AliAnaPartCorrMaker();
183 maker->SetReader(reader);//pointer to reader
184 maker->SetAnaDebug(0);
185 maker->AddAnalysis(anaphoton,0);
4007d0a2 186 maker->AddAnalysis(anapi0EbE,1);
a946aa14 187 maker->AddAnalysis(anaomega,2);
188
189 maker->AddAnalysis(anaphoton1,3);
4007d0a2 190 maker->AddAnalysis(anapi0EbEEbE1,4);
191 maker->AddAnalysis(anaomega1,5);
a946aa14 192
193 maker->SwitchOnHistogramsMaker() ;
194 maker->SwitchOnAODsMaker() ;
195
196 maker->Print("");
197 //
198 printf("======================== \n");
199 printf("END ConfigAnalysis() \n");
200 printf("======================== \n");
201 return maker ;
202}