]>
Commit | Line | Data |
---|---|---|
a946aa14 | 1 | AliAnaPartCorrMaker* 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 | } |