28 #include "Riostream.h"
40 #include "AliAnalysisTaskSE.h"
41 #include "AliAnalysisManager.h"
43 #include "AliESDtrackCuts.h"
44 #include "AliESDtrack.h"
45 #include "AliAODTrack.h"
46 #include "AliESDCaloCluster.h"
47 #include "AliAODCaloCluster.h"
48 #include "AliESDEvent.h"
49 #include "AliAODEvent.h"
50 #include "AliESDInputHandler.h"
51 #include "AliAODInputHandler.h"
53 #include "AliPIDResponse.h"
54 #include "AliTRDPIDResponse.h"
55 #include "AliEventPoolManager.h"
84 fHistNElecPerEvent(0),
98 fHistEtaPhiTPCOnly_MB(0),
100 fHistDPhiDEta28_MB(0),
101 fHistDPhiMix28_MB(0),
102 fHistDPhiDEtaMix28_MB(0),
103 fHistEMC_Had_MB_1Gev(0),
104 fHistInvMassElecLike_MB(0),
105 fHistInvMassElecUnLike_MB(0),
106 fHistOpAngElecLike_MB(0),
107 fHistOpAngElecUnLike_MB(0),
109 fHistPtAssocMix_MB(0),
111 fHistPhotoMismatch_MB(0),
112 fHistDPhi18Spe_MB(0),
114 fHistTPCNClus_EMC7(0),
115 fHistITSNClus_EMC7(0),
117 fHistTPCSigCut_EMC7(0),
119 fHistImpParTag_EMC7(0),
120 fHistNevents_EMC7(0),
122 fHistPtSumTag_EMC7(0),
123 fHistPtSumEMC_EMC7(0),
125 fHistEtaPhiTag_EMC7(0),
127 fHistDPhiDEta28_EMC7(0),
128 fHistDPhiMix28_EMC7(0),
129 fHistDPhiDEtaMix28_EMC7(0),
130 fHistInvMassElecLike_EMC7(0),
131 fHistInvMassElecUnLike_EMC7(0),
132 fHistOpAngElecLike_EMC7(0),
133 fHistOpAngElecUnLike_EMC7(0),
134 fHistPtAssoc_EMC7(0),
135 fHistPtAssocMix_EMC7(0),
137 fHistPhotoMismatch_EMC7(0),
138 fHistDPhi18Spe_EMC7(0),
140 fHistTPCNClus_EMCJet(0),
141 fHistITSNClus_EMCJet(0),
142 fHistTPCSig_EMCJet(0),
143 fHistTPCSigCut_EMCJet(0),
144 fHistImpPar_EMCJet(0),
145 fHistImpParTag_EMCJet(0),
146 fHistNevents_EMCJet(0),
147 fHistPtSum_EMCJet(0),
148 fHistPtSumTag_EMCJet(0),
149 fHistPtSumEMC_EMCJet(0),
150 fHistEtaPhi_EMCJet(0),
151 fHistEtaPhiTag_EMCJet(0),
152 fHistDPhi28_EMCJet(0),
153 fHistDPhiDEta28_EMCJet(0),
154 fHistDPhiMix28_EMCJet(0),
155 fHistDPhiDEtaMix28_EMCJet(0),
156 fHistInvMassElecLike_EMCJet(0),
157 fHistInvMassElecUnLike_EMCJet(0),
158 fHistOpAngElecLike_EMCJet(0),
159 fHistOpAngElecUnLike_EMCJet(0),
160 fHistPtAssoc_EMCJet(0),
161 fHistPtAssocMix_EMCJet(0),
162 fHistPtTag_EMCJet(0),
163 fHistPhotoMismatch_EMCJet(0),
164 fHistDPhi18Spe_EMCJet(0)
170 for(
Int_t i=0; i<3; i++){
171 fHistDPhi300_500_MB[i]=0;
172 fHistDPhi500_800_MB[i]=0;
173 fHistDPhi800_1_MB[i]=0;
174 fHistDPhi1_2_MB[i]=0;
175 fHistDPhi2_3_MB[i]=0;
176 fHistDPhi3_4_MB[i]=0;
179 fHistDPhi300_500_EMC7[i]=0;
180 fHistDPhi500_800_EMC7[i]=0;
181 fHistDPhi800_1_EMC7[i]=0;
182 fHistDPhi1_2_EMC7[i]=0;
183 fHistDPhi2_3_EMC7[i]=0;
184 fHistDPhi3_4_EMC7[i]=0;
185 fHistDPhi4_EMC7[i]=0;
187 fHistDPhi300_500_EMCJet[i]=0;
188 fHistDPhi500_800_EMCJet[i]=0;
189 fHistDPhi800_1_EMCJet[i]=0;
190 fHistDPhi1_2_EMCJet[i]=0;
191 fHistDPhi2_3_EMCJet[i]=0;
192 fHistDPhi3_4_EMCJet[i]=0;
193 fHistDPhi4_EMCJet[i]=0;
196 fHistDPhiMix300_500_MB[i]=0;
197 fHistDPhiMix500_800_MB[i]=0;
198 fHistDPhiMix800_1_MB[i]=0;
199 fHistDPhiMix1_2_MB[i]=0;
200 fHistDPhiMix2_3_MB[i]=0;
201 fHistDPhiMix3_4_MB[i]=0;
202 fHistDPhiMix4_MB[i]=0;
204 fHistDPhiMix300_500_EMC7[i]=0;
205 fHistDPhiMix500_800_EMC7[i]=0;
206 fHistDPhiMix800_1_EMC7[i]=0;
207 fHistDPhiMix1_2_EMC7[i]=0;
208 fHistDPhiMix2_3_EMC7[i]=0;
209 fHistDPhiMix3_4_EMC7[i]=0;
210 fHistDPhiMix4_EMC7[i]=0;
212 fHistDPhiMix300_500_EMCJet[i]=0;
213 fHistDPhiMix500_800_EMCJet[i]=0;
214 fHistDPhiMix800_1_EMCJet[i]=0;
215 fHistDPhiMix1_2_EMCJet[i]=0;
216 fHistDPhiMix2_3_EMCJet[i]=0;
217 fHistDPhiMix3_4_EMCJet[i]=0;
218 fHistDPhiMix4_EMCJet[i]=0;
222 for(
int i=0;i<6;i++){
224 fHistTPC_EMCTRD_MB[i]=0;
226 fHistEMC_TPCTRD_MB[i]=0;
228 fHistTRD_TPCEMC_MB[i]=0;
231 fHistTPC_EMCTRD_EMC7[i]=0;
233 fHistEMC_TPCTRD_EMC7[i]=0;
235 fHistTRD_TPCEMC_EMC7[i]=0;
238 fHistTPC_EMCTRD_EMCJet[i]=0;
240 fHistEMC_TPCTRD_EMCJet[i]=0;
242 fHistTRD_TPCEMC_EMCJet[i]=0;
244 fHistM02_All_MB[i]=0;
245 fHistM02_Elec_MB[i]=0;
246 fHistM20_All_MB[i]=0;
247 fHistM20_Elec_MB[i]=0;
249 fHistM02_All_EMC7[i]=0;
250 fHistM02_Elec_EMC7[i]=0;
251 fHistM20_All_EMC7[i]=0;
252 fHistM20_Elec_EMC7[i]=0;
254 fHistM02_All_EMCJet[i]=0;
255 fHistM02_Elec_EMCJet[i]=0;
256 fHistM20_All_EMCJet[i]=0;
257 fHistM20_Elec_EMCJet[i]=0;
283 fHistPIDRejection(0),
284 fHistNElecPerEvent(0),
289 fHistTPCSigCut_MB(0),
291 fHistImpParTag_MB(0),
297 fHistEtaPhiTag_MB(0),
298 fHistEtaPhiTPCOnly_MB(0),
300 fHistDPhiDEta28_MB(0),
301 fHistDPhiMix28_MB(0),
302 fHistDPhiDEtaMix28_MB(0),
303 fHistEMC_Had_MB_1Gev(0),
304 fHistInvMassElecLike_MB(0),
305 fHistInvMassElecUnLike_MB(0),
306 fHistOpAngElecLike_MB(0),
307 fHistOpAngElecUnLike_MB(0),
309 fHistPtAssocMix_MB(0),
311 fHistPhotoMismatch_MB(0),
312 fHistDPhi18Spe_MB(0),
314 fHistTPCNClus_EMC7(0),
315 fHistITSNClus_EMC7(0),
317 fHistTPCSigCut_EMC7(0),
319 fHistImpParTag_EMC7(0),
320 fHistNevents_EMC7(0),
322 fHistPtSumTag_EMC7(0),
323 fHistPtSumEMC_EMC7(0),
325 fHistEtaPhiTag_EMC7(0),
327 fHistDPhiDEta28_EMC7(0),
328 fHistDPhiMix28_EMC7(0),
329 fHistDPhiDEtaMix28_EMC7(0),
330 fHistInvMassElecLike_EMC7(0),
331 fHistInvMassElecUnLike_EMC7(0),
332 fHistOpAngElecLike_EMC7(0),
333 fHistOpAngElecUnLike_EMC7(0),
334 fHistPtAssoc_EMC7(0),
335 fHistPtAssocMix_EMC7(0),
337 fHistPhotoMismatch_EMC7(0),
338 fHistDPhi18Spe_EMC7(0),
340 fHistTPCNClus_EMCJet(0),
341 fHistITSNClus_EMCJet(0),
342 fHistTPCSig_EMCJet(0),
343 fHistTPCSigCut_EMCJet(0),
344 fHistImpPar_EMCJet(0),
345 fHistImpParTag_EMCJet(0),
346 fHistNevents_EMCJet(0),
347 fHistPtSum_EMCJet(0),
348 fHistPtSumTag_EMCJet(0),
349 fHistPtSumEMC_EMCJet(0),
350 fHistEtaPhi_EMCJet(0),
351 fHistEtaPhiTag_EMCJet(0),
352 fHistDPhi28_EMCJet(0),
353 fHistDPhiDEta28_EMCJet(0),
354 fHistDPhiMix28_EMCJet(0),
355 fHistDPhiDEtaMix28_EMCJet(0),
356 fHistInvMassElecLike_EMCJet(0),
357 fHistInvMassElecUnLike_EMCJet(0),
358 fHistOpAngElecLike_EMCJet(0),
359 fHistOpAngElecUnLike_EMCJet(0),
360 fHistPtAssoc_EMCJet(0),
361 fHistPtAssocMix_EMCJet(0),
362 fHistPtTag_EMCJet(0),
363 fHistPhotoMismatch_EMCJet(0),
364 fHistDPhi18Spe_EMCJet(0)
373 for(
Int_t i=0; i<3; i++){
425 for(
Int_t i=0;i<6;i++){
464 DefineOutput(1, TList::Class());
465 DefineOutput(2, TList::Class());
466 DefineOutput(3, TList::Class());
474 for(
Int_t i=0;i<3;i++){
526 for(
Int_t i=0;i<6;i++){
584 Double_t vertexBins[5] = { -10, -4, 0, 4, 10 };
586 Double_t multBins[4] = {0, 200, 500, 1000};
589 fPoolMan =
new AliEventPoolManager(50, 50, nMultBins, multBins, nZvtxBins, vertexBins);
593 TString ptRangesDPhi[3] = {
"1-2Gev",
"2-4Gev",
"4-8Gev"};
594 TString ptRangesPID[6] = {
"1-2GeV",
"2-3GeV",
"3-4GeV",
"4-5GeV",
"5-6GeV",
">6GeV"};
595 TString ptRangesRegion[4] = {
"1-2Gev",
"2-4Gev",
"4-6Gev",
">6Gev"};
626 fTrackCutsWeak->SetMaxDCAToVertexXYPtDep(
"0.0182+0.0350/pt^1.01");
645 fHistPhotoMismatch_MB =
new TH1F(
"fHistPhotoMismatch_MB",
"Electrons identified as 'heavy flavour' that fall in photonic invariant mass and opening angle cuts", 2, 0, 1);
649 fHistPhotoMismatch_EMC7 =
new TH1F(
"fHistPhotoMismatch_EMC7",
"Electrons identified as 'heavy flavour' that fall in photonic invariant mass and opening angle cuts", 2, 0, 1);
653 fHistPhotoMismatch_EMCJet =
new TH1F(
"fHistPhotoMismatch_EMCJet",
"Electrons identified as 'heavy flavour' that fall in photonic invariant mass and opening angle cuts", 2, 0, 1);
659 fHistInvMassElecLike_MB =
new TH1F(
"fHistInvMassElecLike_MB",
"Invariant mass for all like-signed electron pairs", 100, 0, .5);
663 fHistInvMassElecLike_EMC7 =
new TH1F(
"fHistInvMassElecLike_EMC7",
"Invariant mass for all like-signed electron pairs", 100, 0, .5);
667 fHistInvMassElecLike_EMCJet =
new TH1F(
"fHistInvMassElecLike_EMCJet",
"Invariant mass for all like-signed electron pairs", 100, 0, .5);
671 fHistInvMassElecUnLike_MB =
new TH1F(
"fHistInvMassElecUnLike_MB",
"Invariant mass for all unlike-signed electron pairs", 100, 0, .5);
675 fHistInvMassElecUnLike_EMC7 =
new TH1F(
"fHistInvMassElecUnLike_EMC7",
"Invariant mass for all unlike-signed electron pairs", 100, 0, .5);
679 fHistInvMassElecUnLike_EMCJet =
new TH1F(
"fHistInvMassElecUnLike_EMCJet",
"Invariant mass for all unlike-signed electron pairs", 100, 0, .5);
685 fHistOpAngElecLike_MB =
new TH1F(
"fHistOpAngElecLike_MB",
"Opening angle for all like-signed electron pairs", 100, 0, TMath::Pi());
689 fHistOpAngElecLike_EMC7 =
new TH1F(
"fHistOpAngElecLike_EMC7",
"Opening angle for all like-signed electron pairs", 100, 0, TMath::Pi());
693 fHistOpAngElecLike_EMCJet =
new TH1F(
"fHistOpAngElecLike_EMCJet",
"Opening angle for all like-signed electron pairs", 100, 0, TMath::Pi());
697 fHistOpAngElecUnLike_MB =
new TH1F(
"fHistOpAngElecUnLike_MB",
"Opening angle for all unlike-signed electron pairs", 100, 0, TMath::Pi());
701 fHistOpAngElecUnLike_EMC7 =
new TH1F(
"fHistOpAngElecUnLike_EMC7",
"Opening angle for all unlike-signed electron pairs", 100, 0, TMath::Pi());
705 fHistOpAngElecUnLike_EMCJet =
new TH1F(
"fHistOpAngElecUnLike_EMCJet",
"Opening angle for all unlike-signed electron pairs", 100, 0, TMath::Pi());
711 fHistPIDRejection =
new TH1F(
"fHistPIDRejection",
"PID rejection counts for each detector.", 4, 1, 4);
720 fHistNElecPerEvent =
new TH1F(
"fHistNElecPerEvent",
"Number of tagged electrons per event", 5, 1, 5);
727 for(
Int_t i=0; i<6; i++){
729 fHistTPC_EMCTRD_MB[i] =
new TH2F(TString::Format(
"fHistTPC_EMCTRD_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"TPC nSigma for tracks with Pt between %s after EMC and TRD cuts",ptRangesPID[i].
Data()), 100, 0, 10, 800, -10, 10);
734 fHistTPC_EMCTRD_EMC7[i] =
new TH2F(TString::Format(
"fHistTPC_EMCTRD_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"TPC nSigma for tracks with Pt between %s after EMC and TRD cuts",ptRangesPID[i].
Data()), 100, 0, 10, 800, -10, 10);
739 fHistTPC_EMCTRD_EMCJet[i] =
new TH2F(TString::Format(
"fHistTPC_EMCTRD_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"TPC nSigma for tracks with Pt between %s after EMC and TRD cuts",ptRangesPID[i].
Data()), 100, 0, 10, 800, -10, 10);
745 for(
Int_t i=0; i<6; i++){
747 fHistEMC_TPCTRD_MB[i] =
new TH1F(TString::Format(
"fHistEMC_TPCTRD_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p for tracks with Pt between %s after TPC and TRD cuts",ptRangesPID[i].
Data()), 100, 0, 1.5);
752 fHistEMC_TPCTRD_EMC7[i] =
new TH1F(TString::Format(
"fHistEMC_TPCTRD_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p for tracks with Pt between %s after TPC and TRD cuts",ptRangesPID[i].
Data()), 100, 0, 1.5);
757 fHistEMC_TPCTRD_EMCJet[i] =
new TH1F(TString::Format(
"fHistEMC_TPCTRD_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p for tracks with Pt between %s after EMC and TRD cuts",ptRangesPID[i].
Data()), 100, 0, 1.5);
763 for(
Int_t i=0; i<6; i++){
765 fHistTRD_TPCEMC_MB[i] =
new TH2F(TString::Format(
"fHistTRD_TPCEMC_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"TRD electron Likelihood for tracks with Pt between %s after TPC and EMC cuts",ptRangesPID[i].
Data()), 100, 0, 10, 800, 0, 1);
770 fHistTRD_TPCEMC_EMC7[i] =
new TH2F(TString::Format(
"fHistTRD_TPCEMC_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"TRD electron Likelihood for tracks with Pt between %s after TPC and EMC cuts",ptRangesPID[i].
Data()), 100, 0, 10, 800, 0, 1);
775 fHistTRD_TPCEMC_EMCJet[i] =
new TH2F(TString::Format(
"fHistTRD_TPCEMC_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"TRD electron Likelihood for tracks with Pt between %s after EMC and EMC cuts",ptRangesPID[i].
Data()), 100, 0, 10, 800, 0, 1);
781 for(
Int_t i=0; i<6; i++){
783 fHistM02_All_MB[i] =
new TH2F(TString::Format(
"fHistM02_All_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M02(semi-major axis) for tracks with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
787 fHistM20_All_MB[i] =
new TH2F(TString::Format(
"fHistM20_All_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M20(semi-minor axis) for tracks with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
791 fHistM02_Elec_MB[i] =
new TH2F(TString::Format(
"fHistM02_Elec_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M02(semi-major axis) for electron candidates with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
795 fHistM20_Elec_MB[i] =
new TH2F(TString::Format(
"fHistM20_Elec_MB_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M20(semi-minor axis) for electron candidates with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
800 fHistM02_All_EMC7[i] =
new TH2F(TString::Format(
"fHistM02_All_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M02(semi-major axis) for tracks with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
804 fHistM20_All_EMC7[i] =
new TH2F(TString::Format(
"fHistM20_All_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M20(semi-minor axis) for tracks with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
808 fHistM02_Elec_EMC7[i] =
new TH2F(TString::Format(
"fHistM02_Elec_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M02(semi-major axis) for electron candidates with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
812 fHistM20_Elec_EMC7[i] =
new TH2F(TString::Format(
"fHistM20_Elec_EMC7_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M20(semi-minor axis) for electron candidates with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
817 fHistM02_All_EMCJet[i] =
new TH2F(TString::Format(
"fHistM02_All_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M02(semi-major axis) for tracks with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
821 fHistM20_All_EMCJet[i] =
new TH2F(TString::Format(
"fHistM20_All_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M20(semi-minor axis) for tracks with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
825 fHistM02_Elec_EMCJet[i] =
new TH2F(TString::Format(
"fHistM02_Elec_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M02(semi-major axis) for electron candidates with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
829 fHistM20_Elec_EMCJet[i] =
new TH2F(TString::Format(
"fHistM20_Elec_EMCJet_%s",ptRangesPID[i].
Data()), TString::Format(
"E/p vs M20(semi-minor axis) for electron candidates with Pt between %s",ptRangesPID[i].
Data()), 100, 0, 1.5, 300, 0, 2);
835 fHistDPhi28_MB =
new TH1F(
"fHistDPhi28_MB",
"Delta-Phi for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
839 fHistDPhi28_EMC7 =
new TH1F(
"fHistDPhi28_EMC7",
"Delta-Phi for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
843 fHistDPhi28_EMCJet =
new TH1F(
"fHistDPhi28_EMCJet",
"Delta-Phi for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
848 fHistDPhiDEta28_MB =
new TH2F(
"fHistDPhiDEta28_MB",
"Delta-Phi by Delta-Eta for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 100, -0.9, 0.9);
853 fHistDPhiDEta28_EMC7 =
new TH2F(
"fHistDPhiDEta28_EMC7",
"Delta-Phi by Delta-Eta for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 100, -0.9, 0.9);
858 fHistDPhiDEta28_EMCJet =
new TH2F(
"fHistDPhiDEta28_EMCJet",
"Delta-Phi by Delta-Eta for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 100, -0.9, 0.9);
864 fHistDPhiMix28_MB =
new TH1F(
"fHistDPhiMix28_MB",
"Delta-Phi for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev for Mixed Events", 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
868 fHistDPhiMix28_EMC7 =
new TH1F(
"fHistDPhiMix28_EMC7",
"Delta-Phi for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev for Mixed Events", 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
872 fHistDPhiMix28_EMCJet =
new TH1F(
"fHistDPhiMix28_EMCJet",
"Delta-Phi for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev for Mixed Events", 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
877 fHistDPhiDEtaMix28_MB =
new TH2F(
"fHistDPhiDEtaMix28_MB",
"Delta-Phi by Delta-Eta for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev for Mixed Events", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 100, -0.9, 0.9);
882 fHistDPhiDEtaMix28_EMC7 =
new TH2F(
"fHistDPhiDEtaMix28_EMC7",
"Delta-Phi by Delta-Eta for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev for Mixed Events", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 100, -0.9, 0.9);
887 fHistDPhiDEtaMix28_EMCJet =
new TH2F(
"fHistDPhiDEtaMix28_EMCJet",
"Delta-Phi by Delta-Eta for candidate electrons with 2<pt<8Gev and assoc. with pt>2Gev for Mixed Events", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 100, -0.9, 0.9);
893 fHistDPhi18Spe_MB =
new TH2F(
"fHistDPhi18Spe_MB",
"Delta-Phi by most probable species for candidate electrons with 1<pt<8Gev and assoc. with pt>.3Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 10, 0, 10);
905 fHistDPhi18Spe_EMC7 =
new TH2F(
"fHistDPhi18Spe_EMC7",
"Delta-Phi by most probable species for candidate electrons with 1<pt<8Gev and assoc. with pt>.3Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 10, 0, 10);
917 fHistDPhi18Spe_EMCJet =
new TH2F(
"fHistDPhi18Spe_EMCJet",
"Delta-Phi by most probable species for candidate electrons with 1<pt<8Gev and assoc. with pt>.3Gev", 100, -TMath::Pi()/2, 3*TMath::Pi()/2, 10, 0, 10);
930 for(
Int_t i=0; i<3; i++){
931 fHistDPhi300_500_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.3-.5Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .3Gev<pt<.5Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
936 for(
Int_t i=0; i<3; i++){
937 fHistDPhi300_500_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.3-.5Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .3Gev<pt<.5Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
942 for(
Int_t i=0; i<3; i++){
943 fHistDPhi300_500_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.3-.5Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .3Gev<pt<.5Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
949 for(
Int_t i=0; i<3; i++){
950 fHistDPhi500_800_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.5-.8Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .5Gev<pt<.8Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
955 for(
Int_t i=0; i<3; i++){
956 fHistDPhi500_800_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.5-.8Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .5Gev<pt<.8Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
961 for(
Int_t i=0; i<3; i++){
962 fHistDPhi500_800_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.5-.8Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .5Gev<pt<.8Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
968 for(
Int_t i=0; i<3; i++){
969 fHistDPhi800_1_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.8-1Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .8Gev<pt<1Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
974 for(
Int_t i=0; i<3; i++){
975 fHistDPhi800_1_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.8-1Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .8Gev<pt<1Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
980 for(
Int_t i=0; i<3; i++){
981 fHistDPhi800_1_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_.8-1Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .8Gev<pt<1Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
987 for(
Int_t i=0; i<3; i++){
988 fHistDPhi1_2_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_1-2Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 1Gev<pt<2Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
993 for(
Int_t i=0; i<3; i++){
994 fHistDPhi1_2_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_1-2Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 1Gev<pt<2Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
999 for(
Int_t i=0; i<3; i++){
1000 fHistDPhi1_2_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_1-2Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 1Gev<pt<2Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1006 for(
Int_t i=0; i<3; i++){
1007 fHistDPhi2_3_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_2-3Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 2Gev<pt<3Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1012 for(
Int_t i=0; i<3; i++){
1013 fHistDPhi2_3_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_2-3Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 2Gev<pt<3Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1018 for(
Int_t i=0; i<3; i++){
1019 fHistDPhi2_3_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_2-3Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 2Gev<pt<3Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1025 for(
Int_t i=0; i<3; i++){
1026 fHistDPhi3_4_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_3-4Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 3Gev<pt<4Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1031 for(
Int_t i=0; i<3; i++){
1032 fHistDPhi3_4_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_3-4Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 3Gev<pt<4Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1037 for(
Int_t i=0; i<3; i++){
1038 fHistDPhi3_4_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_3-4Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 3Gev<pt<4Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1044 for(
Int_t i=0; i<3; i++){
1045 fHistDPhi4_MB[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_4Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated pt>4Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1050 for(
Int_t i=0; i<3; i++){
1051 fHistDPhi4_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_4Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated pt>4Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1056 for(
Int_t i=0; i<3; i++){
1057 fHistDPhi4_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhi_trig_%s_assoc_4Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated pt>4Gev",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1065 for(
Int_t i=0; i<3; i++){
1066 fHistDPhiMix300_500_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.3-.5Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .3Gev<pt<.5Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1071 for(
Int_t i=0; i<3; i++){
1072 fHistDPhiMix300_500_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.3-.5Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .3Gev<pt<.5Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1077 for(
Int_t i=0; i<3; i++){
1078 fHistDPhiMix300_500_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.3-.5Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .3Gev<pt<.5Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1084 for(
Int_t i=0; i<3; i++){
1085 fHistDPhiMix500_800_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.5-.8Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .5Gev<pt<.8Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1090 for(
Int_t i=0; i<3; i++){
1091 fHistDPhiMix500_800_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.5-.8Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .5Gev<pt<.8Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1096 for(
Int_t i=0; i<3; i++){
1097 fHistDPhiMix500_800_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.5-.8Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .5Gev<pt<.8Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1103 for(
Int_t i=0; i<3; i++){
1104 fHistDPhiMix800_1_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.8-1Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .8Gev<pt<1Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1109 for(
Int_t i=0; i<3; i++){
1110 fHistDPhiMix800_1_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.8-1Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .8Gev<pt<1Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1115 for(
Int_t i=0; i<3; i++){
1116 fHistDPhiMix800_1_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_.8-1Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated .8Gev<pt<1Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1122 for(
Int_t i=0; i<3; i++){
1123 fHistDPhiMix1_2_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_1-2Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 1Gev<pt<2Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1128 for(
Int_t i=0; i<3; i++){
1129 fHistDPhiMix1_2_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_1-2Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 1Gev<pt<2Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1134 for(
Int_t i=0; i<3; i++){
1135 fHistDPhiMix1_2_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_1-2Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 1Gev<pt<2Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1141 for(
Int_t i=0; i<3; i++){
1142 fHistDPhiMix2_3_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_2-3Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 2Gev<pt<3Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1147 for(
Int_t i=0; i<3; i++){
1148 fHistDPhiMix2_3_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_2-3Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 2Gev<pt<3Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1153 for(
Int_t i=0; i<3; i++){
1154 fHistDPhiMix2_3_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_2-3Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 2Gev<pt<3Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1160 for(
Int_t i=0; i<3; i++){
1161 fHistDPhiMix3_4_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_3-4Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 3Gev<pt<4Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1166 for(
Int_t i=0; i<3; i++){
1167 fHistDPhiMix3_4_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_3-4Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 3Gev<pt<4Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1172 for(
Int_t i=0; i<3; i++){
1173 fHistDPhiMix3_4_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_3-4Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated 3Gev<pt<4Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1179 for(
Int_t i=0; i<3; i++){
1180 fHistDPhiMix4_MB[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_4Gev_MB",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated pt>4Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1185 for(
Int_t i=0; i<3; i++){
1186 fHistDPhiMix4_EMC7[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_4Gev_EMC7",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated pt>4Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1191 for(
Int_t i=0; i<3; i++){
1192 fHistDPhiMix4_EMCJet[i] =
new TH1F(TString::Format(
"fHistDPhiMix_trig_%s_assoc_4Gev_EMCJet",ptRangesDPhi[i].
Data()).
Data(), TString::Format(
"Delta-Phi for candidate electrons w/ pt=%s and Associated pt>4Gev for Mixed Events",ptRangesDPhi[i].
Data()).
Data(), 100, -TMath::Pi()/2, 3*TMath::Pi()/2);
1198 fHistEMC_Had_MB_1Gev =
new TH1F(
"fHistEMC_Had_MB_1Gev",
"E/p for hadrons with Pt between 1-2Gev", 100, 0, 1.5);
1203 fHistEtaPhiTag_MB =
new TH2F(
"fHistEtaPhiTag_MB",
"Eta-Phi distribution of tracks in tagged events", 100, -.9,.9,100,0,2*TMath::Pi());
1207 fHistEtaPhiTag_EMC7 =
new TH2F(
"fHistEtaPhiTag_EMC7",
"Eta-Phi distribution of tracks in tagged events", 100, -.9,.9,100,0,2*TMath::Pi());
1211 fHistEtaPhiTag_EMCJet =
new TH2F(
"fHistEtaPhiTag_EMCJet",
"Eta-Phi distribution of tracks in tagged events", 100, -.9,.9,100,0,2*TMath::Pi());
1216 fHistEtaPhi_MB =
new TH2F(
"fHistEtaPhi_MB",
"Eta-Phi distribution of tracks", 100, -.9,.9,100,0,2*TMath::Pi());
1220 fHistEtaPhi_EMC7 =
new TH2F(
"fHistEtaPhi_EMC7",
"Eta-Phi distribution of tracks", 100, -.9,.9,100,0,2*TMath::Pi());
1224 fHistEtaPhi_EMCJet =
new TH2F(
"fHistEtaPhi_EMCJet",
"Eta-Phi distribution of tracks", 100, -.9,.9,100,0,2*TMath::Pi());
1228 fHistEtaPhiTPCOnly_MB =
new TH2F(
"fHistEtaPhiTPCOnly_MB",
"Eta-Phi distribution of TPC only tracks", 100, -.9,.9,100,0,2*TMath::Pi());
1233 fHistPtSum_MB =
new TH1F(
"fHistPtSum_MB",
"Pt sum for events w/o an electron candidate", 500, 0, 500);
1237 fHistPtSum_EMC7 =
new TH1F(
"fHistPtSum_EMC7",
"Pt sum for events w/o an electron candidate", 500, 0, 500);
1241 fHistPtSum_EMCJet =
new TH1F(
"fHistPtSum_EMCJet",
"Pt sum for events w/o an electron candidate", 500, 0, 500);
1246 fHistPtSumTag_MB =
new TH1F(
"fHistPtSumTag_MB",
"Pt sum for events w/ an electron candidate", 500, 0, 500);
1250 fHistPtSumTag_EMC7 =
new TH1F(
"fHistPtSumTag_EMC7",
"Pt sum for events w/ an electron candidate", 500, 0, 500);
1254 fHistPtSumTag_EMCJet =
new TH1F(
"fHistPtSumTag_EMCJet",
"Pt sum for events w/ an electron candidate", 500, 0, 500);
1259 fHistPtSumEMC_MB =
new TH1F(
"fHistPtSumEMC_MB",
"Pt sum for events in EMCal acceptance", 500, 0, 500);
1263 fHistPtSumEMC_EMC7 =
new TH1F(
"fHistPtSumEMC_EMC7",
"Pt sum for events in EMCal acceptance", 500, 0, 500);
1267 fHistPtSumEMC_EMCJet =
new TH1F(
"fHistPtSumEMC_EMCJet",
"Pt sum for events in EMCal acceptance", 500, 0, 500);
1272 fHistNevents_MB =
new TH1F(
"fHistNevents_MB",
"Number of events that have an 'electron'", 2,0,1);
1274 fHistNevents_MB->GetXaxis()->SetBinLabel(2,
"Events containing candidates");
1277 fHistNevents_EMC7 =
new TH1F(
"fHistNevents_EMC7",
"Number of events that have an 'electron'", 2,0,1);
1282 fHistNevents_EMCJet =
new TH1F(
"fHistNevents_EMCJet",
"Number of events that have an 'electron'", 2,0,1);
1288 fHistTPCSig_MB =
new TH1F(
"fHistTPCSig_MB",
"dEdx Resolution in TPC", 100,0,100);
1292 fHistTPCSig_EMC7 =
new TH1F(
"fHistTPCSig_EMC7",
"dEdx Resolution in TPC", 100,0,100);
1296 fHistTPCSig_EMCJet =
new TH1F(
"fHistTPCSig_EMCJet",
"dEdx Resolution in TPC", 100,0,100);
1301 fHistTPCSigCut_MB =
new TH1F(
"fHistTPCSigCut_MB",
"dEdx Resolution in TPC for tracks that pass the basic track cuts", 100,0,100);
1305 fHistTPCSigCut_EMC7 =
new TH1F(
"fHistTPCSigCut_EMC7",
"dEdx Resolution in TPC for tracks that pass the basic track cuts", 100,0,100);
1309 fHistTPCSigCut_EMCJet =
new TH1F(
"fHistTPCSigCut_EMCJet",
"dEdx Resolution in TPC for tracks that pass the basic track cuts", 100,0,100);
1314 fHistImpPar_MB =
new TH1F(
"fHistImpPar_MB",
"Impact Parameter distribution in xy plane for all tracks", 100,-1, 1);
1318 fHistImpPar_EMC7 =
new TH1F(
"fHistImpPar_EMC7",
"Impact Parameter distribution in xy plane for all tracks", 100,-1, 1);
1322 fHistImpPar_EMCJet =
new TH1F(
"fHistImpPar_EMCJet",
"Impact Parameter distribution in xy plane for all tracks", 100,-1, 1);
1327 fHistImpParTag_MB =
new TH1F(
"fHistImpParTag_MB",
"Impact Parameter distribution in xy plane for electron candidates", 100,-1, 1);
1331 fHistImpParTag_EMC7 =
new TH1F(
"fHistImpParTag_EMC7",
"Impact Parameter distribution in xy plane for electron candidates", 100,-1, 1);
1335 fHistImpParTag_EMCJet =
new TH1F(
"fHistImpParTag_EMCJet",
"Impact Parameter distribution in xy plane for electron candidates", 100,-1, 1);
1340 fHistTPCNClus_MB =
new TH1F(
"fHistTPCNClus_MB",
"Number of Clusters per track in TPC", 159, 0, 159);
1344 fHistTPCNClus_EMC7 =
new TH1F(
"fHistTPCNClus_EMC7",
"Number of Clusters per track in TPC", 159, 0, 159);
1348 fHistTPCNClus_EMCJet =
new TH1F(
"fHistTPCNClus_EMCJet",
"Number of Clusters per track in TPC", 159, 0, 159);
1353 fHistITSNClus_MB =
new TH1F(
"fHistITSNClus_MB",
"Number of Clusters per Track in ITS", 10, 0, 10);
1357 fHistITSNClus_EMC7 =
new TH1F(
"fHistITSNClus_EMC7",
"Number of Clusters per Track in ITS", 10, 0, 10);
1361 fHistITSNClus_EMCJet =
new TH1F(
"fHistITSNClus_EMCJet",
"Number of Clusters per Track in ITS", 10, 0, 10);
1366 fHistPtAssoc_MB =
new TH1F(
"fHistPtAssoc_MB",
"Pt distribution for associated tracks", 100,0, 15);
1370 fHistPtAssoc_EMC7 =
new TH1F(
"fHistPtAssoc_EMC7",
"Pt distribution for associated tracks", 100,0, 15);
1374 fHistPtAssoc_EMCJet =
new TH1F(
"fHistPtAssoc_EMCJet",
"Pt distribution for associated tracks", 100,0, 15);
1379 fHistPtAssocMix_MB =
new TH1F(
"fHistPtAssocMix_MB",
"Pt distribution for associated tracks in mixed events", 100,0, 15);
1383 fHistPtAssocMix_EMC7 =
new TH1F(
"fHistPtAssocMix_EMC7",
"Pt distribution for associated tracks in mixed events", 100,0, 15);
1387 fHistPtAssocMix_EMCJet =
new TH1F(
"fHistPtAssocMix_EMCJet",
"Pt distribution for associated tracks in mixed events", 100,0, 15);
1392 fHistPtTag_MB =
new TH1F(
"fHistPtTag_MB",
"Pt distribution for electron candidates", 100,0, 15);
1396 fHistPtTag_EMC7 =
new TH1F(
"fHistPtTag_EMC7",
"Pt distribution for electron candidates", 100,0, 15);
1400 fHistPtTag_EMCJet =
new TH1F(
"fHistPtTag_EMCJet",
"Pt distribution for electron candidates", 100,0, 15);
1430 for(
Int_t i=0; i<6;i++){
1442 for(
Int_t i=0; i<3;i++){
1484 for(
Int_t i=0; i<6;i++){
1496 for(
Int_t i=0; i<3;i++){
1538 for(
Int_t i=0; i<6;i++){
1550 for(
Int_t i=0; i<3;i++){
1586 AliVEvent *
event = InputEvent();
1587 if (!event) { Printf(
"ERROR: Could not retrieve event");
return; }
1593 AliError(
"Cannot get the AOD event");
1598 cout<<
"Made ESD Event\n";
1600 AliError(
"Cannot get the ESD event");
1608 AliWarning(
"AliAnalysisManager is not available");
1612 AliInputEventHandler* inputHandler = (AliInputEventHandler*)man->GetInputEventHandler();
1613 if (!inputHandler) {
1614 AliWarning(
"AliInputEventHandler is not available");
1631 UInt_t fSelectMask = inputHandler->IsEventSelected();
1638 Bool_t isSelected = fSelectMask & (AliVEvent::kEMC7 | AliVEvent::kEMCEJE | AliVEvent::kEMC8);
1640 AliWarning(
"This is not an EMCal triggered event");
1643 MBtrg = fSelectMask & AliVEvent::kAnyINT;
1644 EMC7trg = fSelectMask & AliVEvent::kEMC7;
1645 EMCJettrg = fSelectMask & AliVEvent::kEMCEJE;
1647 Int_t elecIDs[1000];
1652 AliWarning(
"The hybrid track cuts are null");
1657 AliPIDResponse* fPIDResponse = (AliPIDResponse*)inputHandler->GetPIDResponse();
1664 AliWarning(
"NULL PIDResponse");
1693 ntracks = aod->GetNumberOfTracks();
1695 ntracks = esd->GetNumberOfTracks();
1698 std::vector<Double_t> Eta;
1699 std::vector<Double_t> Phi;
1702 for(
Int_t i = 0; i < ntracks; i++) {
1706 AliESDtrack* esdtrack = 0;
1707 AliAODTrack* aodtrack = (AliAODTrack*)aod->GetTrack(i);
1709 esdtrack = (AliESDtrack*)esd->GetTrack(i);
1713 AliError(Form(
"ERROR: Could not retrieve track %d",i));
1719 AliError(Form(
"ERROR: Could not retrieve track %d",i));
1726 if(aodtrack->IsTPCOnly()){
1731 if(AliESDtrackCuts::GetStandardTPCOnlyTrackCuts()->AcceptTrack(esdtrack)){
1738 if(!aodtrack->IsHybridGlobalConstrainedGlobal()){
continue;}
1744 PtSum=PtSum+aodtrack->Pt();
1745 if(aodtrack->Eta()<.7&&aodtrack->Eta()>-.7&&aodtrack->Phi()>80&&aodtrack->Phi()<180){
1746 PtSumEMC=PtSumEMC+aodtrack->Pt();
1750 Eta.push_back(aodtrack->Eta());
1751 Phi.push_back(aodtrack->Phi());
1765 if(aodtrack->GetTPCncls()>0){
1771 if(aodtrack->GetTPCncls()>0){
1778 if(aodtrack->GetTPCncls()>0){
1786 PtSum=PtSum+esdtrack->Pt();
1789 Eta.push_back(esdtrack->Eta());
1790 Phi.push_back(esdtrack->Phi());
1804 if(esdtrack->GetTPCncls()>0){
1810 if(esdtrack->GetTPCncls()>0){
1817 if(esdtrack->GetTPCncls()>0){
1843 xy=TMath::Sqrt(aodtrack->XAtDCA()*aodtrack->XAtDCA()+aodtrack->YAtDCA()*aodtrack->YAtDCA());
1846 esdtrack->GetImpactParameters(xy, z);
1870 if(!
fTrackCutsStrong->AcceptVTrack((AliVTrack*)aodtrack) || aodtrack->GetTPCsignalN()<80){
continue;}
1872 if(!
fTrackCutsWeak->AcceptVTrack((AliVTrack*)aodtrack) || aodtrack->GetTPCsignalN()<80){
continue;}
1877 if(!
fTrackCutsStrong->AcceptTrack(esdtrack) || esdtrack->GetTPCsignalN()<80){
continue;}
1879 if(!
fTrackCutsWeak->AcceptTrack(esdtrack) || esdtrack->GetTPCsignalN()<80){
continue;}
1969 fPool =
fPoolMan->GetEventPool(ntracks, aod->GetPrimaryVertex()->GetZ());
1972 if(!
fPool){cout<<
"No Pool for this event man\n";
continue;}
1976 if(
fPool->IsReady() ){
1980 cout<<
"Pool wasn't ready\n";
1994 Int_t elecIDsSparse[elecCnt];
1995 for(
Int_t i=0;i<elecCnt;i++){
1996 elecIDsSparse[i]=elecIDs[i];
2050 for(
Int_t i=0;i<Eta.size();i++){
2075 AliWarning(
"esdtrack is null, no point in doing PID");
2080 Bool_t isPIDRej = kFALSE;
2083 AliPIDResponse::EDetPidStatus TOFStatus=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTOF, esdtrack);
2085 AliPIDResponse::EDetPidStatus TPCStatus=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTPC, esdtrack);
2087 AliPIDResponse::EDetPidStatus TRDStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kTRD, esdtrack);
2089 AliPIDResponse::EDetPidStatus EMCStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kEMCAL, esdtrack);
2092 if(TOFStatus!=AliPIDResponse::kDetPidOk){
2097 if(TPCStatus!=AliPIDResponse::kDetPidOk){
2102 if(TRDStatus!=AliPIDResponse::kDetPidOk){
2107 if(EMCStatus!=AliPIDResponse::kDetPidOk){
2115 nSigmaTOF = fPIDResponse->NumberOfSigmasTOF(esdtrack,AliPID::kElectron);
2118 nSigmaTPC = fPIDResponse->NumberOfSigmasTPC(esdtrack,AliPID::kElectron);
2121 if(fPIDResponse->ComputeTRDProbability(esdtrack, AliPID::kElectron, elecLikeTRD, AliTRDPIDResponse::kLQ2D) != AliPIDResponse::kDetPidOk || esdtrack->GetTRDntrackletsPID()<4){
2126 if(isPIDRej){
return;}
2132 Int_t caloId=esdtrack->GetEMCALcluster();
2138 AliESDCaloCluster* tagEMCclus=esd->GetCaloCluster(caloId);
2140 if(tagEMCclus->E()>.5){
2141 EOP = tagEMCclus->E()/esdtrack->Pt();
2142 M02 = tagEMCclus->GetM02();
2143 M20 = tagEMCclus->GetM20();
2156 Double_t ptUpper[6] = {2, 3, 4, 5, 6, 1000000};
2157 Double_t ptLower[6] = {1, 2, 3, 4, 5, 6};
2161 Double_t EMCcutLower[6] = {.85,.85,.85,.85,.85,.95};
2162 Double_t EMCcutHigher[6] = {1.15,1.15,1.15,1.15,1.15,1.25};
2164 for(
Int_t i=0; i<6; i++){
2165 if(esdtrack->Pt()>ptLower[i]&&esdtrack->Pt()<ptUpper[i]){
2184 if(EOP<EMCcutHigher[i]&&EOP>EMCcutLower[i]&&elecLikeTRD[0]>TRDcut){
2201 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut){
2215 if(M02<.5&&M02>0&&M20<.3&&M20>0){
2248 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&EOP<EMCcutHigher[i]&&EOP>EMCcutLower[i]){
2264 if(esdtrack->Pt()<2&&esdtrack->Pt()>1){
2265 if(nSigmaTPC<-2&&nSigmaTPC>-8){
2275 if(esdtrack->Pt()<6){
2276 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[0]&&EOP>EMCcutLower[0]&&M02<.5&&M02>0&&M20<.3&&M20>0){
2286 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[5]&&EOP>EMCcutLower[5]&&M02<.5&&M02>0&&M20<.3&&M20>0){
2298 if(esdtrack->Pt()<6){
2299 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[0]&&EOP>EMCcutLower[0]){
2309 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[5]&&EOP>EMCcutLower[5]){
2336 AliWarning(
"aodtrack is null, no point in doing PID");
2341 Bool_t isPIDRej = kFALSE;
2344 AliPIDResponse::EDetPidStatus TOFStatus=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTOF, aodtrack);
2346 AliPIDResponse::EDetPidStatus TPCStatus=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTPC, aodtrack);
2348 AliPIDResponse::EDetPidStatus TRDStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kTRD, aodtrack);
2350 AliPIDResponse::EDetPidStatus EMCStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kEMCAL, aodtrack);
2353 if(TOFStatus!=AliPIDResponse::kDetPidOk){
2358 if(TPCStatus!=AliPIDResponse::kDetPidOk){
2363 if(TRDStatus!=AliPIDResponse::kDetPidOk){
2368 if(EMCStatus!=AliPIDResponse::kDetPidOk){
2376 nSigmaTOF = fPIDResponse->NumberOfSigmasTOF(aodtrack,AliPID::kElectron);
2379 nSigmaTPC = fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kElectron);
2382 if(fPIDResponse->ComputeTRDProbability(aodtrack, AliPID::kElectron, elecLikeTRD, AliTRDPIDResponse::kLQ2D) != AliPIDResponse::kDetPidOk || aodtrack->GetTRDntrackletsPID()<4){
2387 if(isPIDRej){
return;}
2393 Int_t caloId=aodtrack->GetEMCALcluster();
2399 AliAODCaloCluster* tagEMCclus=aod->GetCaloCluster(caloId);
2401 if(tagEMCclus->E()>.5){
2402 EOP = tagEMCclus->E()/aodtrack->Pt();
2403 M02 = tagEMCclus->GetM02();
2404 M20 = tagEMCclus->GetM20();
2417 Double_t ptUpper[6] = {2, 3, 4, 5, 6, 1000000};
2418 Double_t ptLower[6] = {1, 2, 3, 4, 5, 6};
2422 Double_t EMCcutLower[6] = {.85,.85,.85,.85,.85,.95};
2423 Double_t EMCcutHigher[6] = {1.15,1.15,1.15,1.15,1.15,1.25};
2425 for(
Int_t i=0; i<6; i++){
2426 if(aodtrack->Pt()>ptLower[i]&&aodtrack->Pt()<ptUpper[i]){
2445 if(EOP<EMCcutHigher[i]&&EOP>EMCcutLower[i]&&elecLikeTRD[0]>TRDcut){
2462 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut){
2476 if(M02<.5&&M02>0&&M20<.3&&M20>0){
2509 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&EOP<EMCcutHigher[i]&&EOP>EMCcutLower[i]){
2525 if(aodtrack->Pt()<2&&aodtrack->Pt()>1){
2526 if(nSigmaTPC<-2&&nSigmaTPC>-8){
2536 if(aodtrack->Pt()<6){
2537 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[0]&&EOP>EMCcutLower[0]&&M02<.5&&M02>0&&M20<.3&&M20>0){
2547 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[5]&&EOP>EMCcutLower[5]&&M02<.5&&M02>0&&M20<.3&&M20>0){
2559 if(aodtrack->Pt()<6){
2560 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[0]&&EOP>EMCcutLower[0]){
2570 if(nSigmaTPC<TPCcut&&nSigmaTPC>-TPCcut&&elecLikeTRD[0]>TRDcut&&EOP<EMCcutHigher[5]&&EOP>EMCcutLower[5]){
2596 Int_t ntracks = esd->GetNumberOfTracks();
2597 for(
Int_t j = 0; j < ntracks; j++) {
2603 AliESDtrack* esdtrackassoc = (AliESDtrack*)esd->GetTrack(j);
2605 if(!esdtrackassoc) {
2606 AliError(Form(
"ERROR: Could not retrieve esdtrack %d",j));
2626 Double_t DPhi=esdtrackassoc->Phi()-esdtrack->Phi();
2628 if(DPhi<-TMath::Pi()/2){DPhi=TMath::Abs(2*TMath::Pi()+DPhi);}
2630 if(DPhi>3*TMath::Pi()/2){DPhi=-TMath::Abs(2*TMath::Pi()-DPhi);}
2632 Double_t DEta=esdtrackassoc->Eta()-esdtrack->Eta();
2635 if(esdtrack->Pt()>1&&esdtrack->Pt()<2){
2638 if(esdtrackassoc->Pt()>.3&&esdtrackassoc->Pt()<.5){
2651 if(esdtrackassoc->Pt()>.5&&esdtrackassoc->Pt()<.8){
2664 if(esdtrackassoc->Pt()>.8&&esdtrackassoc->Pt()<1){
2677 if(esdtrackassoc->Pt()>1&&esdtrackassoc->Pt()<2){
2690 if(esdtrackassoc->Pt()>2&&esdtrackassoc->Pt()<3){
2703 if(esdtrackassoc->Pt()>3&&esdtrackassoc->Pt()<4){
2716 if(esdtrackassoc->Pt()>4){
2730 if(esdtrack->Pt()>2&&esdtrack->Pt()<4){
2733 if(esdtrackassoc->Pt()>.3&&esdtrackassoc->Pt()<.5){
2746 if(esdtrackassoc->Pt()>.5&&esdtrackassoc->Pt()<.8){
2759 if(esdtrackassoc->Pt()>.8&&esdtrackassoc->Pt()<1){
2772 if(esdtrackassoc->Pt()>1&&esdtrackassoc->Pt()<2){
2785 if(esdtrackassoc->Pt()>2&&esdtrackassoc->Pt()<3){
2807 if(esdtrackassoc->Pt()>3&&esdtrackassoc->Pt()<4){
2829 if(esdtrackassoc->Pt()>4){
2852 if(esdtrack->Pt()>4&&esdtrack->Pt()<8){
2855 if(esdtrackassoc->Pt()>.3&&esdtrackassoc->Pt()<.5){
2868 if(esdtrackassoc->Pt()>.5&&esdtrackassoc->Pt()<.8){
2881 if(esdtrackassoc->Pt()>.8&&esdtrackassoc->Pt()<1){
2894 if(esdtrackassoc->Pt()>1&&esdtrackassoc->Pt()<2){
2907 if(esdtrackassoc->Pt()>2&&esdtrackassoc->Pt()<3){
2929 if(esdtrackassoc->Pt()>3&&esdtrackassoc->Pt()<4){
2951 if(esdtrackassoc->Pt()>4){
2982 Int_t ntracks = aod->GetNumberOfTracks();
2983 for(
Int_t j = 0; j < ntracks; j++) {
2989 AliAODTrack* aodtrackassoc = (AliAODTrack*)aod->GetTrack(j);
2991 if(!aodtrackassoc) {
2992 AliError(Form(
"ERROR: Could not retrieve aodtrack %d",j));
2997 if(aodtrackassoc->IsHybridGlobalConstrainedGlobal()){
continue;}
3012 Double_t DPhi=aodtrackassoc->Phi()-aodtrack->Phi();
3014 if(DPhi<-TMath::Pi()/2){DPhi=TMath::Abs(2*TMath::Pi()+DPhi);}
3016 if(DPhi>3*TMath::Pi()/2){DPhi=-TMath::Abs(2*TMath::Pi()-DPhi);}
3018 Double_t DEta=aodtrackassoc->Eta()-aodtrack->Eta();
3021 cout<<
"most probPID"<<AliAODTrack::kElectron<<
":"<<aodtrackassoc->GetMostProbablePID()<<
'\n';
3022 switch(aodtrackassoc->GetMostProbablePID()){
3023 case AliAODTrack::kElectron:
3026 case AliAODTrack::kMuon:
3029 case AliAODTrack::kPion:
3032 case AliAODTrack::kKaon:
3038 case AliAODTrack::kDeuteron:
3041 case AliAODTrack::kUnknown:
3047 if(aodtrack->Pt()>1&&aodtrack->Pt()<2){
3050 if(aodtrackassoc->Pt()>.3&&aodtrackassoc->Pt()<.5){
3066 if(aodtrackassoc->Pt()>.5&&aodtrackassoc->Pt()<.8){
3082 if(aodtrackassoc->Pt()>.8&&aodtrackassoc->Pt()<1){
3098 if(aodtrackassoc->Pt()>1&&aodtrackassoc->Pt()<2){
3114 if(aodtrackassoc->Pt()>2&&aodtrackassoc->Pt()<3){
3130 if(aodtrackassoc->Pt()>3&&aodtrackassoc->Pt()<4){
3146 if(aodtrackassoc->Pt()>4){
3163 if(aodtrack->Pt()>2&&aodtrack->Pt()<4){
3166 if(aodtrackassoc->Pt()>.3&&aodtrackassoc->Pt()<.5){
3182 if(aodtrackassoc->Pt()>.5&&aodtrackassoc->Pt()<.8){
3198 if(aodtrackassoc->Pt()>.8&&aodtrackassoc->Pt()<1){
3214 if(aodtrackassoc->Pt()>1&&aodtrackassoc->Pt()<2){
3230 if(aodtrackassoc->Pt()>2&&aodtrackassoc->Pt()<3){
3252 if(aodtrackassoc->Pt()>3&&aodtrackassoc->Pt()<4){
3274 if(aodtrackassoc->Pt()>4){
3297 if(aodtrack->Pt()>4&&aodtrack->Pt()<8){
3300 if(aodtrackassoc->Pt()>.3&&aodtrackassoc->Pt()<.5){
3316 if(aodtrackassoc->Pt()>.5&&aodtrackassoc->Pt()<.8){
3332 if(aodtrackassoc->Pt()>.8&&aodtrackassoc->Pt()<1){
3348 if(aodtrackassoc->Pt()>1&&aodtrackassoc->Pt()<2){
3364 if(aodtrackassoc->Pt()>2&&aodtrackassoc->Pt()<3){
3386 if(aodtrackassoc->Pt()>3&&aodtrackassoc->Pt()<4){
3408 if(aodtrackassoc->Pt()>4){
3438 cout<<
"assigning hybrid track cuts \n";
3454 AliWarning(
"esdtrack is null, no point in doing Photonic Electron stuff");
3461 AliPIDResponse::EDetPidStatus TPCStatus=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTPC, esdtrack);
3463 AliPIDResponse::EDetPidStatus TRDStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kTRD, esdtrack);
3465 AliPIDResponse::EDetPidStatus EMCStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kEMCAL, esdtrack);
3468 if(TPCStatus!=AliPIDResponse::kDetPidOk){
3472 if(TRDStatus!=AliPIDResponse::kDetPidOk){
3476 if(EMCStatus!=AliPIDResponse::kDetPidOk){
3483 nSigmaTPC = fPIDResponse->NumberOfSigmasTPC(esdtrack,AliPID::kElectron);
3486 if(fPIDResponse->ComputeTRDProbability(esdtrack, AliPID::kElectron, elecLikeTRD, AliTRDPIDResponse::kLQ2D) != AliPIDResponse::kDetPidOk || esdtrack->GetTRDntrackletsPID()<4){
3492 Int_t caloId=esdtrack->GetEMCALcluster();
3498 AliESDCaloCluster* tagEMCclus=esd->GetCaloCluster(caloId);
3500 EOP = tagEMCclus->E()/esdtrack->Pt();
3502 if((nSigmaTPC<2&&nSigmaTPC>-2)||(EOP<1.4&&EOP>.8)||(elecLikeTRD[0]>.8)){
3506 if(!isElec){
return;}
3508 Int_t ntracks=esd->GetNumberOfTracks();
3510 for(
Int_t j = 0; j < ntracks; j++) {
3515 AliESDtrack* esdtrackassoc = (AliESDtrack*)esd->GetTrack(j);
3517 if(!esdtrackassoc) {
3518 AliError(Form(
"ERROR: Could not retrieve esdtrack %d",j));
3528 AliPIDResponse::EDetPidStatus TPCStatusassoc=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTPC, esdtrackassoc);
3530 AliPIDResponse::EDetPidStatus TRDStatusassoc=fPIDResponse->CheckPIDStatus(AliPIDResponse::kTRD, esdtrackassoc);
3533 if(TPCStatusassoc!=AliPIDResponse::kDetPidOk){
3537 if(TRDStatusassoc!=AliPIDResponse::kDetPidOk){
3544 nSigmaTPCassoc = fPIDResponse->NumberOfSigmasTPC(esdtrackassoc,AliPID::kElectron);
3547 if(fPIDResponse->ComputeTRDProbability(esdtrackassoc, AliPID::kElectron, elecLikeTRDassoc, AliTRDPIDResponse::kLQ2D) != AliPIDResponse::kDetPidOk || esdtrackassoc->GetTRDntrackletsPID()<4){
3551 if((nSigmaTPCassoc<2&&nSigmaTPCassoc>-2)||(elecLikeTRDassoc[0]>.8)){
3555 if(!isElecToo){
continue;}
3557 Double_t elecE1=TMath::Sqrt(esdtrack->P()*esdtrack->P()+ElecMass*ElecMass);
3558 Double_t elecE2=TMath::Sqrt(esdtrackassoc->P()*esdtrackassoc->P()+ElecMass*ElecMass);
3560 TLorentzVector elec1(esdtrack->Px(), esdtrack->Py(), esdtrack->Pz(), elecE1);
3561 TLorentzVector elec2(esdtrackassoc->Px(), esdtrackassoc->Py(), esdtrackassoc->Pz(), elecE2);
3563 Double_t InvMass=(elec1+elec2).M();
3564 Double_t OpAng=elec1.Angle(elec2.Vect());
3566 if(esdtrack->GetSign()==esdtrackassoc->GetSign()){
3584 if(InvMass<0.1&&OpAng<0.1){
tagPhot=kTRUE;}
3611 AliWarning(
"aodtrack is null, no point in doing Photonic Electron stuff");
3618 AliPIDResponse::EDetPidStatus TPCStatus=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTPC, aodtrack);
3620 AliPIDResponse::EDetPidStatus TRDStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kTRD, aodtrack);
3622 AliPIDResponse::EDetPidStatus EMCStatus=fPIDResponse->CheckPIDStatus(AliPIDResponse::kEMCAL, aodtrack);
3625 if(TPCStatus!=AliPIDResponse::kDetPidOk){
3629 if(TRDStatus!=AliPIDResponse::kDetPidOk){
3633 if(EMCStatus!=AliPIDResponse::kDetPidOk){
3640 nSigmaTPC = fPIDResponse->NumberOfSigmasTPC(aodtrack,AliPID::kElectron);
3643 if(fPIDResponse->ComputeTRDProbability(aodtrack, AliPID::kElectron, elecLikeTRD, AliTRDPIDResponse::kLQ2D) != AliPIDResponse::kDetPidOk || aodtrack->GetTRDntrackletsPID()<4){
3649 Int_t caloId=aodtrack->GetEMCALcluster();
3655 AliAODCaloCluster* tagEMCclus=aod->GetCaloCluster(caloId);
3657 EOP = tagEMCclus->E()/aodtrack->Pt();
3659 if((nSigmaTPC<2&&nSigmaTPC>-2)||(EOP<1.4&&EOP>.8)||(elecLikeTRD[0]>.8)){
3663 if(!isElec){
return;}
3665 Int_t ntracks=aod->GetNumberOfTracks();
3667 for(
Int_t j = 0; j < ntracks; j++) {
3672 AliAODTrack* aodtrackassoc = (AliAODTrack*)aod->GetTrack(j);
3674 if(!aodtrackassoc) {
3675 AliError(Form(
"ERROR: Could not retrieve aodtrack %d",j));
3680 if(aodtrackassoc->IsHybridGlobalConstrainedGlobal()){
continue;}
3685 AliPIDResponse::EDetPidStatus TPCStatusassoc=fPIDResponse->CheckPIDStatus(
AliPIDResponse::kTPC, aodtrackassoc);
3687 AliPIDResponse::EDetPidStatus TRDStatusassoc=fPIDResponse->CheckPIDStatus(AliPIDResponse::kTRD, aodtrackassoc);
3690 if(TPCStatusassoc!=AliPIDResponse::kDetPidOk){
3694 if(TRDStatusassoc!=AliPIDResponse::kDetPidOk){
3701 nSigmaTPCassoc = fPIDResponse->NumberOfSigmasTPC(aodtrackassoc,AliPID::kElectron);
3704 if(fPIDResponse->ComputeTRDProbability(aodtrackassoc, AliPID::kElectron, elecLikeTRDassoc, AliTRDPIDResponse::kLQ2D) != AliPIDResponse::kDetPidOk || aodtrackassoc->GetTRDntrackletsPID()<4){
3708 if((nSigmaTPCassoc<2&&nSigmaTPCassoc>-2)||(elecLikeTRDassoc[0]>.8)){
3712 if(!isElecToo){
continue;}
3714 Double_t elecE1=TMath::Sqrt(aodtrack->P()*aodtrack->P()+ElecMass*ElecMass);
3715 Double_t elecE2=TMath::Sqrt(aodtrackassoc->P()*aodtrackassoc->P()+ElecMass*ElecMass);
3717 TLorentzVector elec1(aodtrack->Px(), aodtrack->Py(), aodtrack->Pz(), elecE1);
3718 TLorentzVector elec2(aodtrackassoc->Px(), aodtrackassoc->Py(), aodtrackassoc->Pz(), elecE2);
3720 Double_t InvMass=(elec1+elec2).M();
3721 Double_t OpAng=elec1.Angle(elec2.Vect());
3723 if(aodtrack->GetSign()==aodtrackassoc->GetSign()){
3741 if(InvMass<0.1&&OpAng<0.1){
tagPhot=kTRUE;}
3767 if(!aod){AliWarning(
"Invalid AOD Event");}
3768 Int_t nTracks = aod->GetNumberOfTracks();
3771 for(
Int_t i=0;i<nTracks;i++){
3772 AliAODTrack *aodtrack = (AliAODTrack*)aod->GetTrack(i);
3778 if(aodtrack->IsHybridGlobalConstrainedGlobal()){
3782 accTracks->Add(
new AliAODTrack(*aodtrack));
3796 Int_t nMixedTracks = mixedTracks->GetEntriesFast();
3798 for(
Int_t j=0;j<nMixedTracks;j++){
3799 AliAODTrack* aodtrackassoc = (AliAODTrack*)mixedTracks->At(j);
3801 if(!aodtrackassoc) {
3802 AliError(Form(
"ERROR: Could not retrieve aodtrack %d",j));
3807 if(aodtrackassoc->IsHybridGlobalConstrainedGlobal()){
continue;}
3822 Double_t DPhi=aodtrackassoc->Phi()-aodtrack->Phi();
3824 if(DPhi<-TMath::Pi()/2){DPhi=TMath::Abs(2*TMath::Pi()+DPhi);}
3826 if(DPhi>3*TMath::Pi()/2){DPhi=-TMath::Abs(2*TMath::Pi()-DPhi);}
3828 Double_t DEta=aodtrackassoc->Eta()-aodtrack->Eta();
3831 if(aodtrack->Pt()>1&&aodtrack->Pt()<2){
3834 if(aodtrackassoc->Pt()>.3&&aodtrackassoc->Pt()<.5){
3847 if(aodtrackassoc->Pt()>.5&&aodtrackassoc->Pt()<.8){
3860 if(aodtrackassoc->Pt()>.8&&aodtrackassoc->Pt()<1){
3873 if(aodtrackassoc->Pt()>1&&aodtrackassoc->Pt()<2){
3886 if(aodtrackassoc->Pt()>2&&aodtrackassoc->Pt()<3){
3899 if(aodtrackassoc->Pt()>3&&aodtrackassoc->Pt()<4){
3912 if(aodtrackassoc->Pt()>4){
3926 if(aodtrack->Pt()>2&&aodtrack->Pt()<4){
3929 if(aodtrackassoc->Pt()>.3&&aodtrackassoc->Pt()<.5){
3942 if(aodtrackassoc->Pt()>.5&&aodtrackassoc->Pt()<.8){
3955 if(aodtrackassoc->Pt()>.8&&aodtrackassoc->Pt()<1){
3968 if(aodtrackassoc->Pt()>1&&aodtrackassoc->Pt()<2){
3981 if(aodtrackassoc->Pt()>2&&aodtrackassoc->Pt()<3){
4000 if(aodtrackassoc->Pt()>3&&aodtrackassoc->Pt()<4){
4019 if(aodtrackassoc->Pt()>4){
4039 if(aodtrack->Pt()>4&&aodtrack->Pt()<8){
4042 if(aodtrackassoc->Pt()>.3&&aodtrackassoc->Pt()<.5){
4055 if(aodtrackassoc->Pt()>.5&&aodtrackassoc->Pt()<.8){
4068 if(aodtrackassoc->Pt()>.8&&aodtrackassoc->Pt()<1){
4081 if(aodtrackassoc->Pt()>1&&aodtrackassoc->Pt()<2){
4094 if(aodtrackassoc->Pt()>2&&aodtrackassoc->Pt()<3){
4113 if(aodtrackassoc->Pt()>3&&aodtrackassoc->Pt()<4){
4132 if(aodtrackassoc->Pt()>4){
TH1F * fHistPtSumTag_EMCJet
TH1F * fHistDPhi3_4_MB[3]
TH1F * fHistEMC_TPCTRD_MB[6]
TH1F * fHistDPhiMix2_3_EMC7[3]
TH2F * fHistDPhiDEta28_MB
TH1F * fHistDPhiMix4_EMC7[3]
TH1F * fHistInvMassElecUnLike_EMCJet
TH2F * fHistTPC_EMCTRD_EMC7[6]
virtual ~AliAnalysisTaskPSHFE()
TH2F * fHistM20_Elec_EMC7[6]
TH1F * fHistDPhiMix300_500_EMC7[3]
TH1F * fHistOpAngElecLike_MB
TH1F * fHistDPhi28_EMCJet
TH1F * fHistPtSumEMC_EMCJet
TH1F * fHistImpParTag_EMC7
TH1F * fHistDPhiMix300_500_EMCJet[3]
TH1F * fHistDPhiMix4_EMCJet[3]
TH1F * fHistOpAngElecLike_EMC7
TH1F * fHistDPhi500_800_EMC7[3]
TH2F * fHistM02_Elec_EMC7[6]
TH1F * fHistDPhiMix3_4_EMCJet[3]
TH2F * fHistDPhi18Spe_EMCJet
TH1F * fHistDPhiMix28_EMCJet
TH1F * fHistDPhi1_2_EMCJet[3]
TH2F * fHistM20_All_EMC7[6]
TH1F * fHistTPCNClus_EMC7
TH1F * fHistDPhiMix3_4_EMC7[3]
TH1F * fHistDPhi300_500_MB[3]
TH1F * fHistDPhi800_1_EMC7[3]
TH2F * fHistDPhiDEta28_EMC7
TH1F * fHistDPhiMix300_500_MB[3]
virtual void Terminate(Option_t *)
TH2F * fHistM20_Elec_EMCJet[6]
TH1F * fHistDPhi500_800_MB[3]
TH2F * fHistDPhiDEtaMix28_EMCJet
AliESDtrackCuts * globaltrackCuts
TH2F * fHistTRD_TPCEMC_EMC7[6]
TH2F * fHistDPhiDEtaMix28_MB
void SetTrackCuts(AliESDtrackCuts *gtrkCuts, AliESDtrackCuts *ctrkCuts)
void FillPIDHistos(AliESDEvent *esd, AliESDtrack *esdtrack, AliPIDResponse *fPIDResponse)
TH1F * fHistPtAssocMix_MB
TH1F * fHistNElecPerEvent
TH2F * fHistEtaPhiTPCOnly_MB
TH1F * fHistOpAngElecUnLike_EMCJet
TH1F * fHistDPhi4_EMCJet[3]
TH1F * fHistTPCSigCut_EMCJet
TH1F * fHistDPhi4_EMC7[3]
TH2F * fHistTRD_TPCEMC_EMCJet[6]
TH1F * fHistDPhi500_800_EMCJet[3]
void FillPhotoElecHistos(AliESDEvent *esd, AliESDtrack *esdtrack, AliPIDResponse *fPIDResponse, Int_t i)
TH1F * fHistPtAssocMix_EMCJet
TH1F * fHistInvMassElecUnLike_EMC7
TH2F * fHistM02_Elec_EMCJet[6]
Bool_t UseNonSignalEvents
TH1F * fHistPtAssocMix_EMC7
TH1F * fHistTPCSigCut_EMC7
TH1F * fHistDPhiMix800_1_MB[3]
TH1F * fHistDPhiMix2_3_EMCJet[3]
TH1F * fHistDPhiMix800_1_EMCJet[3]
TH1F * fHistDPhiMix800_1_EMC7[3]
TH1F * fHistEMC_TPCTRD_EMC7[6]
TH1F * fHistPhotoMismatch_EMC7
TObjArray * MakeTrkArr(AliAODEvent *aod)
TH1F * fHistDPhiMix500_800_MB[3]
TH1F * fHistTPCNClus_EMCJet
TH1F * fHistInvMassElecUnLike_MB
TH2F * fHistM20_Elec_MB[6]
TH1F * fHistNevents_EMCJet
TH1F * fHistDPhi300_500_EMC7[3]
TH1F * fHistImpPar_EMCJet
TH1F * fHistDPhi800_1_EMCJet[3]
AliEventPoolManager * fPoolMan
TH1F * fHistDPhi800_1_MB[3]
TH2F * fHistTPC_EMCTRD_MB[6]
void SetElectronTrackCuts(Bool_t trkCutBool)
AliESDtrackCuts * fTrackCutsWeak
Bool_t Data(TH1F *h, Double_t *rangefit, Bool_t writefit, Double_t &sgn, Double_t &errsgn, Double_t &bkg, Double_t &errbkg, Double_t &sgnf, Double_t &errsgnf, Double_t &sigmafit, Int_t &status)
TH1F * fHistDPhiMix500_800_EMCJet[3]
ClassImp(AliAnalysisTaskPSHFE) AliAnalysisTaskPSHFE
TH2F * fHistEtaPhiTag_EMC7
TH2F * fHistM20_All_EMCJet[6]
TH1F * fHistInvMassElecLike_EMCJet
TH1F * fHistDPhi1_2_EMC7[3]
TH1F * fHistPtSumTag_EMC7
TH1F * fHistDPhiMix1_2_EMC7[3]
TH1F * fHistEMC_Had_MB_1Gev
TH2F * fHistEtaPhiTag_EMCJet
TH1F * fHistITSNClus_EMCJet
TH1F * fHistDPhiMix1_2_MB[3]
TH2F * fHistM02_All_MB[6]
TH2F * fHistDPhiDEta28_EMCJet
TH1F * fHistEMC_TPCTRD_EMCJet[6]
void FillDPhiHistos(AliESDEvent *esd, AliESDtrack *esdtrack, Int_t i)
TH2F * fHistDPhi18Spe_EMC7
virtual void UserExec(Option_t *option)
TH1F * fHistDPhi2_3_EMCJet[3]
TH1F * fHistOpAngElecUnLike_EMC7
TH1F * fHistOpAngElecLike_EMCJet
virtual void UserCreateOutputObjects()
TH2F * fHistM02_All_EMC7[6]
TH2F * fHistTPC_EMCTRD_EMCJet[6]
TH1F * fHistTPCSig_EMCJet
TH2F * fHistM02_All_EMCJet[6]
void FillMEDPhiHistos(AliAODTrack *aodtrack)
AliESDtrackCuts * comptrackCuts
TH1F * fHistPhotoMismatch_MB
TH1F * fHistInvMassElecLike_MB
TH1F * fHistImpParTag_EMCJet
TH1F * fHistDPhiMix4_MB[3]
void SetSSCutBool(Bool_t SSCutBool)
TH1F * fHistDPhi1_2_MB[3]
TH1F * fHistDPhi300_500_EMCJet[3]
TH1F * fHistPtSumEMC_EMC7
TH2F * fHistM20_All_MB[6]
TH1F * fHistDPhi3_4_EMC7[3]
TH1F * fHistInvMassElecLike_EMC7
TH1F * fHistDPhiMix2_3_MB[3]
TH2F * fHistTRD_TPCEMC_MB[6]
TH1F * fHistDPhiMix28_EMC7
TH1F * fHistDPhi2_3_EMC7[3]
TH2F * fHistM02_Elec_MB[6]
TH1F * fHistPtAssoc_EMCJet
TH1F * fHistITSNClus_EMC7
TH1F * fHistDPhi2_3_MB[3]
TH1F * fHistDPhiMix1_2_EMCJet[3]
TH1F * fHistDPhi3_4_EMCJet[3]
TH1F * fHistOpAngElecUnLike_MB
TList * OpenFile(const char *fname)
TH1F * fHistDPhiMix500_800_EMC7[3]
TH1F * fHistDPhiMix3_4_MB[3]
TH2F * fHistDPhiDEtaMix28_EMC7
TH1F * fHistPhotoMismatch_EMCJet
TH2F * fHistEtaPhi_EMCJet
AliESDtrackCuts * fTrackCutsStrong