AliPhysics  64f4410 (64f4410)
ConfigureCaloTrackCorrAnalysis.C
Go to the documentation of this file.
1 
23 // Set includes for compilation
24 
25 #if !defined(__CINT__) || defined(__MAKECINT__)
26 
27 #include <TString.h>
28 #include <TSystem.h>
29 #include <TROOT.h>
30 
31 #include "AliAnaPhoton.h"
32 #include "AliAnaPi0.h"
33 #include "AliAnaPi0EbE.h"
34 #include "AliHistogramRanges.h"
37 #include "AliAnaChargedParticles.h"
38 #include "AliAnaCalorimeterQA.h"
40 #include "AliAnaGeneratorKine.h"
43 #endif
44 
47 
49 // Some examples of strings: "Photon_MergedPi0_DecayPi0_Isolation_Correlation_Bkg_QA_Charged_HighMult_MultiIso_PerSM_PerTCard",
51 
69  TString col, Bool_t simulation,
70  Bool_t printSettings, Int_t debug)
71 {
72  //
73  // Histograms ranges
74  //
75  AliHistogramRanges* histoRanges = ana->GetHistogramRanges();
76 
77  if ( histoString != "" )
78  ana->AddToHistogramsName(Form("%s_%s", histoString.Data(), (ana->GetAddedHistogramsStringToName()).Data()) );
79 
80  histoRanges->SetHistoPtRangeAndNBins(0, 100, 200) ; // Energy and pt histograms
81 
82  if(calorimeter=="EMCAL")
83  {
84  ana->SetFirstSMCoveredByTRD(-1);
85 
86  if ( year == 2010 )
87  {
88  histoRanges->SetHistoPhiRangeAndNBins(78*TMath::DegToRad(), 122*TMath::DegToRad(), 78) ;
89  histoRanges->SetHistoXRangeAndNBins(-230,90,120); // QA
90  histoRanges->SetHistoYRangeAndNBins(370,450,40); // QA
91  }
92  else if ( year < 2014 )
93  {
94  histoRanges->SetHistoPhiRangeAndNBins(78*TMath::DegToRad(), 182*TMath::DegToRad(), 104) ;
95  histoRanges->SetHistoXRangeAndNBins(-460,90,200); // QA
96  histoRanges->SetHistoYRangeAndNBins(100,450,100); // QA
97 
98  if (year == 2011) ana->SetFirstSMCoveredByTRD( 6);
99  else if(year == 2012 ||
100  year == 2013) ana->SetFirstSMCoveredByTRD( 4);
101  }
102  else // Run2
103  {
104  histoRanges->SetHistoPhiRangeAndNBins(78*TMath::DegToRad(), 189*TMath::DegToRad(), 111) ;
105  histoRanges->SetHistoXRangeAndNBins(-460,460,230); // QA, revise
106  histoRanges->SetHistoYRangeAndNBins(-450,450,225); // QA, revise
107  }
108 
109  histoRanges->SetHistoEtaRangeAndNBins(-0.72, 0.72, 144) ;
110  }
111  else if(calorimeter=="DCAL")
112  {
113  histoRanges->SetHistoPhiRangeAndNBins(260*TMath::DegToRad(), 327*TMath::DegToRad(), 67) ;
114  histoRanges->SetHistoEtaRangeAndNBins(-0.72, 0.72, 144) ;
115  histoRanges->SetHistoXRangeAndNBins(-460,460,230); // QA, revise
116  histoRanges->SetHistoYRangeAndNBins(-450,450,225); // QA, revise
117  }
118  else if(calorimeter=="PHOS")
119  {
120  histoRanges->SetHistoPhiRangeAndNBins(250*TMath::DegToRad(), 320*TMath::DegToRad(), 70) ;
121  histoRanges->SetHistoEtaRangeAndNBins(-0.13, 0.13, 130) ;
122  }
123  else if(calorimeter=="CTS")
124  {
125  ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 200) ;
126  ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-1.5, 1.5, 300) ;
127  }
128 
129  histoRanges->SetHistoShowerShapeRangeAndNBins(-0.1, 2.9, 300);
130 
131  // Invariant mass histo
132  histoRanges->SetHistoMassRangeAndNBins(0., 1., 200) ;
133  histoRanges->SetHistoAsymmetryRangeAndNBins(0., 1. , 100) ;
134 
135  // check if time calibration is on
136  //histoRanges->SetHistoTimeRangeAndNBins(-1000.,1000,1000);
137  histoRanges->SetHistoTimeRangeAndNBins(-400.,400,400);
138  histoRanges->SetHistoDiffTimeRangeAndNBins(-200, 200, 800);
139 
140  // track-cluster residuals
141  histoRanges->SetHistoTrackResidualEtaRangeAndNBins(-0.06,0.06,120);
142  histoRanges->SetHistoTrackResidualPhiRangeAndNBins(-0.06,0.06,120);
143  histoRanges->SetHistodRRangeAndNBins(0.,0.06,60);//QA
144 
145  // QA, electron, charged
146  histoRanges->SetHistoPOverERangeAndNBins(0,1.5,150);
147  histoRanges->SetHistodEdxRangeAndNBins(0.,200.,200);
148 
149  // QA
150  histoRanges->SetHistoFinePtRangeAndNBins(0, 10, 200) ; // bining for fhAmpId
151  histoRanges->SetHistoVertexDistRangeAndNBins(0.,500.,500);
152  histoRanges->SetHistoZRangeAndNBins(-350,350,175);
153  histoRanges->SetHistoRRangeAndNBins(430,460,30);
154  histoRanges->SetHistoV0SignalRangeAndNBins(0,5000,500);
155  histoRanges->SetHistoV0MultiplicityRangeAndNBins(0,5000,500);
156 
157  // QA, correlation
158  if(col=="PbPb")
159  {
160  histoRanges->SetHistoNClusterCellRangeAndNBins(0,100,100);
161  histoRanges->SetHistoNClustersRangeAndNBins(0,500,50);
162  histoRanges->SetHistoTrackMultiplicityRangeAndNBins(0,2000,200);
163  }
164  else
165  {
166  histoRanges->SetHistoNClusterCellRangeAndNBins(0,50,50);
167  histoRanges->SetHistoNClustersRangeAndNBins(0,50,50);
168  histoRanges->SetHistoTrackMultiplicityRangeAndNBins(0,200,200);
169  }
170 
171  // xE, zT
172  histoRanges->SetHistoRatioRangeAndNBins(0.,2.,200);
173  histoRanges->SetHistoHBPRangeAndNBins (0.,10.,200);
174 
175  // Isolation
176  histoRanges->SetHistoPtInConeRangeAndNBins(0, 50 , 250);
177  histoRanges->SetHistoPtSumRangeAndNBins (0, 100, 250);
178 
179  //
180  // MC histograms?
181  //
182  if(simulation) ana->SwitchOnDataMC() ;//Access MC stack and fill more histograms, AOD MC not implemented yet.
183  else ana->SwitchOffDataMC() ;
184 
185 
186  //
187  // Specialized histograms on multiplicity
188  //
189  if ( kAnaCutsString.Contains("HighMult") )
191  else
193 
194  //
195  // Debug
196  //
197  if(printSettings) ana->Print("");
198 
199  ana->SetDebug(debug); // 10 for lots of messages
200 }
201 
216  TString calorimeter, Int_t year, Int_t tm,
217  Bool_t printSettings, Int_t debug,
218  TString histoString )
219 {
220  AliAnaPhoton *ana = new AliAnaPhoton();
221 
222  // cluster selection cuts
223 
225 
226  ana->SwitchOnFiducialCut();
227  if ( calorimeter == "EMCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.7, 80, 187) ; // EMC
228  else if ( calorimeter == "DCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.7, 260, 327) ; // DMC
229 
230  if ( calorimeter.Contains("CAL") ) ana->GetFiducialCut()->DoEMCALFiducialCut(kTRUE);
231 
232  ana->SetCalorimeter(calorimeter);
233  if(calorimeter == "DCAL")
234  {
235  TString calo = "EMCAL";
236  ana->SetCalorimeter(calo);
237  }
238 
239  ana->SwitchOnFillShowerShapeHistograms(); // Filled before photon shower shape selection
240  if( kAnaCutsString.Contains("MultiIso") ) ana->SwitchOffFillShowerShapeHistograms();
241 
242  if ( kAnaCutsString.Contains("PerSM") )
244 
245  //if(!simulation) ana->SwitchOnFillPileUpHistograms();
246 
247  if(tm) ana->SwitchOnTrackMatchRejection() ;
248  else ana->SwitchOffTrackMatchRejection() ;
249 
250  // Fill track matching histograms if track matching activated
251  // and only once in case of multiple analysis
252  if ( tm && !kAnaCutsString.Contains("MultiIso") )
253  {
254  ana->SwitchOnTMHistoFill() ;
255  if(tm > 1) ana->SwitchOnTMTrackPtHistoFill() ;
256  }
257 
258  if(calorimeter == "PHOS")
259  {
260  ana->SetNCellCut(2);// At least 3 cells
261  ana->SetMinPt(0.3);
262  ana->SetMinDistanceToBadChannel(2, 4, 5);
263  ana->SetTimeCut(-1e10,1e10); // open cut
264  }
265  else
266  {//EMCAL
267  ana->SetNCellCut(1);// At least 2 cells
268  ana->SetMinEnergy(0.3); // avoid mip peak at E = 260 MeV
269  ana->SetMaxEnergy(100);
270  ana->SetTimeCut(-1e10,1e10); // open cut, usual time window of [425-825] ns if time recalibration is off
271  // restrict to less than 100 ns when time calibration is on
272  ana->SetMinDistanceToBadChannel(2, 4, 6);
273 
274  // NLM cut, used in all, exclude clusters with more than 2 maxima
275  // Not needed if M02 cut is already strong or clusterizer V2
276  ana->SetNLMCut(1, 2) ;
277  }
278 
279  //PID cuts (shower shape)
280  ana->SwitchOnCaloPID(); // do PID selection, unless specified in GetCaloPID, selection not based on bayesian
281  AliCaloPID* caloPID = ana->GetCaloPID();
282  //Not used in bayesian
283 
284  // EMCAL
285 
286  //caloPID->SetEMCALLambda0CutMax(0.27);
287  caloPID->SetEMCALLambda0CutMax(10); // open, full shower shape needed for isolation studies
288  caloPID->SetEMCALLambda0CutMin(0.10);
289 
290  // Track matching
291  // tm = 1, fixed cuts
292  caloPID->SetEMCALDEtaCut(0.025);
293  caloPID->SetEMCALDPhiCut(0.030);
294 
295  // pT track dependent cuts
296  if(tm > 1) caloPID->SwitchOnEMCTrackPtDepResMatching();
297 
298  // PHOS
299  caloPID->SetPHOSDispersionCut(2.5);
300  caloPID->SetPHOSRCut(2.);
301  //if(kInputData=="AOD") caloPID->SetPHOSRCut(2000.); // Open cut since dX, dZ not stored
302 
303  // Branch AOD settings
304  ana->SetOutputAODName(Form("PhotonTrigger_%s",kAnaCaloTrackCorr.Data()));
305  ana->SetOutputAODClassName("AliCaloTrackParticleCorrelation");
306 
307  //Set Histograms name tag, bins and ranges
308  //ana->AddToHistogramsName(Form("AnaPhoton_TM%d_",tm));
309  ana->AddToHistogramsName("AnaPhoton_");
310 
311  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug) ; // see method below
312 
313  if(ana->GetFirstSMCoveredByTRD() > 0)
314  printf("ConfigurePhotonAnalysis() >>> Set first SM covered by TRD, SM=%d <<< year %d \n", ana->GetFirstSMCoveredByTRD(),year);
315 
316  // Number of particle type MC histograms
317  ana->FillNOriginHistograms (17); // 18 max
318  ana->FillNPrimaryHistograms(6); // 6 max
319 
320  return ana;
321 }
322 
341  Bool_t useSSIso, Bool_t useAsy,
342  TString col, Bool_t simulation,
343  TString calorimeter, Int_t year, Int_t tm,
344  Bool_t printSettings, Int_t debug,
345  TString histoString )
346 {
347  // Configuration of pi0 event by event selection
348 
349  AliAnaPi0EbE *ana = new AliAnaPi0EbE();
350 
351  ana->SetDebug(debug);
352 
353  ana->SetAnalysisType((AliAnaPi0EbE::anaTypes)analysis);
354  TString opt = "";
355  if(analysis==AliAnaPi0EbE::kIMCaloTracks) opt = "Conv";
356  if(analysis==AliAnaPi0EbE::kSSCalo) opt = "SS";
357 
360 
362  //if(!simulation) ana->SwitchOnFillPileUpHistograms();
363  //if(!kTime && !simulation) ana->SwitchOnFillEMCALBCHistograms();
364 
365  if(tm) ana->SwitchOnTrackMatchRejection() ;
366  else ana->SwitchOffTrackMatchRejection() ;
367 
368  if ( tm && !kAnaCutsString.Contains("Photon") && !kAnaCutsString.Contains("MultiIso") )
369  ana->SwitchOnTMHistoFill() ;
370  else
371  ana->SwitchOffTMHistoFill() ;
372 
373  ana->SetCalorimeter(calorimeter);
374  if(calorimeter == "DCAL")
375  {
376  TString calo = "EMCAL";
377  ana->SetCalorimeter(calo);
378  }
379 
380  // Branch AOD settings
381  ana->SetOutputAODName(Form("%s%sTrigger_%s",particle.Data(), opt.Data(), kAnaCaloTrackCorr.Data()));
382  printf("ConfigurePi0EbEAnalysis() *** Out branch %s***\n",ana->GetOutputAODName().Data());
383  ana->SetOutputAODClassName("AliCaloTrackParticleCorrelation");
384 
385  if(analysis == AliAnaPi0EbE::kIMCaloTracks) ana->SetInputAODGammaConvName("PhotonsCTS");
386 
387  //Set Histograms name tag, bins and ranges
388 
389  //ana->AddToHistogramsName(Form("Ana%s%sEbE_TM%d_",particle.Data(),opt.Data(),tm));
390  ana->AddToHistogramsName(Form("Ana%s%sEbE_",particle.Data(),opt.Data()));
391 
392  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug); // see method below
393 
395  if(analysis!=AliAnaPi0EbE::kSSCalo)
396  {
397  ana->SetInputAODName(Form("PhotonTrigger_%s",kAnaCaloTrackCorr.Data()));
398 
399  ana->SetM02CutForInvMass(0.1,0.35); // Loose SS cut
400 
402  ana->SetR(0.4);
404 
405  if(useSSIso)
406  {
408  //ana->AddToHistogramsName(Form("Ana%s%sEbEIsoDecay_TM%d_",particle.Data(),opt.Data(),tm));
409  ana->AddToHistogramsName(Form("Ana%s%sEbEIsoDecay_",particle.Data(),opt.Data()));
410  ana->SetOutputAODName(Form("%s%sIsoDecayTrigger_%s",particle.Data(), opt.Data(), kAnaCaloTrackCorr.Data()));
411  }
412 
413  if ( calorimeter.Contains("CAL") && !simulation ) ana->SetPairTimeCut(100);
414 
416  nms->SetParticle(particle);
417 
418  //****
419  nms->SetInvMassCutMaxParameters(0,0,0); // Overrule the setting in SetParticle for Pi0 option
420  //****
421 
422  // Tighten a bit mass cut with respect to default window
423  if(particle=="Pi0") nms->SetInvMassCutRange(0.110,0.160);
424  if(particle=="Eta") nms->SetInvMassCutRange(0.520,0.580);
425 
426  //if(!particle.Contains("SideBand")) nms->SwitchOnAngleSelection();
427  //else nms->SwitchOnAngleSelection();
428 
430 
431  if(particle.Contains("Pi0SideBand")) // For pi0, do not consider left band
432  nms->SetSideBandCutRanges(-1,0,0.190,0.240);
433 
434  if(particle.Contains("EtaSideBand")) // For pi0, do not consider left band
435  nms->SetSideBandCutRanges(0.410,0.470,0.620,0.680);
436 
438  //nms->SetAngleMaxParam(2,0.2);
439  nms->SetHistoERangeAndNBins(0, 20, 80) ;
440  //nms->SetHistoIMRangeAndNBins(0, 1, 400);
441  }
442  else
443  {
444  // cluster splitting settings
445  ana->SetMinEnergy(6);
446  ana->SetMaxEnergy(100.);
447 
448  ana->SetNLMMinEnergy(0, 10);
449  ana->SetNLMMinEnergy(1, 6);
450  ana->SetNLMMinEnergy(2, 6);
451 
452  // NLM cut, used in all, exclude clusters with more than 2 maxima
453  ana->SetNLMCut(1, 2) ;
454 
455  //
456  ana->SetMinDistanceToBadChannel(2, 4, 6);
458  ana->SetTimeCut(-1e10,1e10); // Open time cut
459 
460  AliCaloPID* caloPID = ana->GetCaloPID();
461 
462  // Track matching
463  // tm = 1, fixed cuts
464  caloPID->SetEMCALDEtaCut(0.025);
465  caloPID->SetEMCALDPhiCut(0.030);
466 
467  // pT track dependent cuts
468  if(tm > 1) caloPID->SwitchOnEMCTrackPtDepResMatching();
469 
470  caloPID->SetSplitWidthSigma(3); // cut at 3 sigma of the mean pi0 peak.
471 
472  if(!useSSIso)
473  {
474  printf("ConfigurePi0EbEAnalysis() << Do not apply SS cut on merged pi0 analysis >> \n");
475  caloPID->SwitchOffSplitShowerShapeCut() ;
476  //ana->AddToHistogramsName(Form("Ana%s%sEbE_OpenSS_TM%d_",particle.Data(),opt.Data(),tm));
477  ana->AddToHistogramsName(Form("Ana%s%sEbE_OpenSS_",particle.Data(),opt.Data()));
478  ana->SetOutputAODName(Form("%s%sTrigger_%s_OpenSS",particle.Data(), opt.Data(), kAnaCaloTrackCorr.Data()));
479  caloPID->SetClusterSplittingM02Cut(0.1,10);
480  }
481  else
482  {
483  caloPID->SetClusterSplittingM02Cut(0.3,4); // Do the selection in the analysis class and not in the PID method to fill SS histograms
484  caloPID->SwitchOnSplitShowerShapeCut() ;
485  }
486 
487  if(useAsy)
488  {
489  caloPID->SwitchOnSplitAsymmetryCut() ;
491  ana->GetCaloPID()->SetSubClusterEnergyMinimum(1,0.5);
492  ana->GetCaloPID()->SetSubClusterEnergyMinimum(2,0.5);
493  }
494  else
495  {
496  caloPID->SwitchOffSplitAsymmetryCut() ;
497  if(!useSSIso)
498  {
499  //ana->AddToHistogramsName(Form("Ana%s%sEbE_OpenSS_OpenAsy_TM%d_",particle.Data(),opt.Data(),tm));
500  ana->AddToHistogramsName(Form("Ana%s%sEbE_OpenSS_OpenAsy_",particle.Data(),opt.Data()));
501  ana->SetOutputAODName(Form("%s%sTrigger_%s_OpenSS_OpenAsy",particle.Data(), opt.Data(), kAnaCaloTrackCorr.Data()));
502  }
503  else
504  {
505  //ana->AddToHistogramsName(Form("Ana%s%sEbE_OpenAsy_TM%d_",particle.Data(),opt.Data(),tm));
506  ana->AddToHistogramsName(Form("Ana%s%sEbE_OpenAsy_",particle.Data(),opt.Data()));
507  ana->SetOutputAODName(Form("%s%sTrigger_%s_OpenAsy",particle.Data(), opt.Data(), kAnaCaloTrackCorr.Data()));
508  }
509  }
510 
511  // For Pi0 only if SwitchOnSimpleSplitMassCut()
512  caloPID->SetPi0MassRange(0.10, 0.18);
513  caloPID->SetEtaMassRange(0.50, 0.60);
514  caloPID->SetPhotonMassRange(0.00, 0.08);
515 
516  caloPID->SetClusterSplittingMinNCells(6);
517 
518  //caloPID->SetSplitEnergyFractionMinimum(0, 0.95);
519  //caloPID->SetSplitEnergyFractionMinimum(1, 0.95);
520  //caloPID->SetSplitEnergyFractionMinimum(2, 0.8);
521 
522  if(col=="PbPb" || kAnaCaloTrackCorr.Contains("150"))
523  {
524  caloPID->SetClusterSplittingMinNCells(4);
525  //caloPID->SetPi0MassShiftHighECell(0.005);
526  }
527  }
529 
530  return ana;
531 }
532 
533 
549 (TString col, Bool_t simulation,
550  TString calorimeter, Bool_t bothCalo,
551  Int_t year, Bool_t mixOn,
552  Bool_t printSettings, Int_t debug,
553  TString histoString )
554 {
555  AliAnaPi0 *ana = new AliAnaPi0();
556 
557  ana->SetDebug(debug);
558 
559  // Input delta AOD settings
560  ana->SetInputAODName(Form("PhotonTrigger_%s",kAnaCaloTrackCorr.Data()));
561 
562  if(bothCalo)
563  {
565 
566  TString otherDetector = Form("PhotonTrigger_%s",kAnaCaloTrackCorr.Data());
567 
568  if ( calorimeter == "EMCAL" )
569  otherDetector.ReplaceAll("PhotonTrigger_EMCAL","PhotonTrigger_PHOS");
570  else
571  otherDetector.ReplaceAll("PhotonTrigger_PHOS","PhotonTrigger_EMCAL");
572 
573  ana->SetOtherDetectorInputName(otherDetector);
574  }
575 
576  // Calorimeter settings
577  ana->SetCalorimeter(calorimeter);
578  if(calorimeter == "DCAL")
579  {
580  TString calo = "EMCAL";
581  ana->SetCalorimeter(calo);
582  }
583 
584  // Acceptance plots
585  ana->SwitchOnFiducialCut();
586  if ( calorimeter == "EMCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.7, 80, 187) ; // EMC
587  else if ( calorimeter == "DCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.7, 260, 327) ; // DMC
588 
589  if ( calorimeter.Contains("CAL") ) ana->GetFiducialCut()->DoEMCALFiducialCut(kTRUE);
590 
592 
593  // settings for pp collision mixing
594  if(mixOn) ana->SwitchOnOwnMix();
595  else ana->SwitchOffOwnMix();
596 
597  // Cuts
598  if (calorimeter == "EMCAL" )
599  {
600  if(year < 2014) ana->SetPairTimeCut(50);
601  else ana->SetPairTimeCut(200); // REMEMBER to remove this when time calib is on
602  }
603 
604  ana->SetNPIDBits(1);
605  ana->SetNAsymCuts(1); // no asymmetry cut, previous studies showed small effect.
606  // In EMCAL assymetry cut prevents combination of assymetric decays which is the main source of pi0 at high E.
607 
608  if (col == "pp" )
609  {
610  printf("ConfigureInvariantMassAnalysis() - Set pp configuration\n");
611  ana->SetNCentrBin(1);
612  ana->SwitchOffTrackMultBins();
613  ana->SetNZvertBin(10);
614  ana->SetNRPBin(1);
615  ana->SetNMaxEvMix(100);
616  ana->SetMinPt(0.7);
617  }
618  else if(col == "PbPb")
619  {
620  printf("ConfigureInvariantMassAnalysis() - Set PbPb configuration\n");
621  ana->SetNCentrBin(10);
622  ana->SetNZvertBin(10);
623  ana->SetNRPBin(4);
624  ana->SetNMaxEvMix(10);
625  ana->SetMinPt(1.5);
626  }
627  else if(col =="pPb")
628  {
629  printf("ConfigureInvariantMassAnalysis() - Set pPb configuration\n");
630  ana->SetNCentrBin(1);
631  ana->SetNZvertBin(10);
632  ana->SetNRPBin(4);
633  ana->SetNMaxEvMix(100);
634  ana->SetMinPt(0.7);
635  }
636 
637  // Angle cut, avoid pairs with too large angle
638  ana->SwitchOnAngleSelection();
639  ana->SetAngleMaxCut(TMath::DegToRad()*80.); // EMCal: 4 SM in phi, 2 full SMs in eta
640  ana->SetAngleCut(0.017); // Minimum angle open, cell size
641 
642  if ( kAnaCutsString.Contains("PerSM") ) //&& !bothCalo )
643  ana->SwitchOnSMCombinations();
644 
646  ana->SwitchOnFillAngleHisto();
647  ana->SwitchOnFillOriginHisto(); // MC
648 
649  // Set Histograms name tag, bins and ranges
650  if(!bothCalo) ana->AddToHistogramsName(Form("AnaPi0_"));
651  else ana->AddToHistogramsName(Form("AnaPi0_2Det_"));
652 
653  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug); // see method below
654  if(printSettings) ana->Print("");
655 
656  return ana;
657 }
658 
659 
681  Int_t partInCone, Int_t thresType,
682  Float_t cone, Float_t coneMin,
683  Float_t pth, Bool_t multi,
684  TString col, Bool_t simulation,
685  TString calorimeter, Int_t year, Int_t tm,
686  Bool_t printSettings, Int_t debug,
687  TString histoString )
688 {
690 
691  ana->SetDebug(debug);
692 
693  ana->SetMinPt(5);
694  ana->SetCalorimeter(calorimeter);
695  if(calorimeter == "DCAL")
696  {
697  TString calo = "EMCAL";
698  ana->SetCalorimeter(calo);
699  }
700 
702  ana->SwitchOffCellHistoFill() ;
703 
704  ana->SwitchOffLeadingOnly();
706  if( leading > 0 ) ana->SwitchOnLeadingOnly();
707  if( leading == 2 ||
708  leading == 4) ana->SwitchOnCheckNeutralClustersForLeading();
709 
710  // MC
713 
714  ana->SwitchOffSSHistoFill();
715 
716  if(particle.Contains("Photon"))
717  {
718  ana->SwitchOnSSHistoFill();
719 
720  if(kAnaCutsString.Contains("Decay"))
721  {
723  ana->SetNDecayBits(5);
724  }
725  }
726 
727  if ( kAnaCutsString.Contains("PerSM") )
728  {
730  ana->SwitchOnStudyNCellsCut();
731  }
732 
733  if ( kAnaCutsString.Contains("PerTCard") )
735 
736  if(kAnaCutsString.Contains("Bkg"))
737  {
738  printf("ConfigureIsolationAnalysis() *** Activate analysis on PtTrig and Bkg bins >> \n");
740  ana->SetNPtTrigBins(6);
741  //ana->SetPtTrigLimits(0,8); ana->SetPtTrigLimits(1,12); ana->SetPtTrigLimits(2,16); ana->SetPtTrigLimits(3,25);
742 
744  ana->SetNBackgroundBins(11);
745  //ana->SetBackgroundLimits(0,0); ana->SetBackgroundLimits(1,0.2); ana->SetBackgroundLimits(2,3); ana->SetBackgroundLimits(3,0.4);
746  }
747 
748  if(!tm) ana->SwitchOnTMHistoFill();
749  else ana->SwitchOffTMHistoFill();
750 
751  //if(!simulation) ana->SwitchOnFillPileUpHistograms();
752 
753  // Avoid borders of calorimeter
755  ana->SwitchOnFiducialCut();
756  if ( calorimeter == "EMCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.60, 86, 174) ;
757  else if ( calorimeter == "DCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.60, 266, 314) ;
758  else if ( calorimeter == "PHOS" ) ana->GetFiducialCut()->SetSimplePHOSFiducialCut (0.10, 266, 314) ;
759 
760  // Same Eta as EMCal, cut in phi if EMCAL was triggering
761  if(particle=="Hadron" || particle.Contains("CTS"))
762  {
763  //if(trigger.Contains("EMC"))
764  // ana->GetFiducialCut()->SetSimpleCTSFiducialCut (0.6, 260, 360) ;
765  //else
766  ana->GetFiducialCut()->SetSimpleCTSFiducialCut (0.6, 0, 360) ;
767  }
768 
769  // Branch AOD settings
770 
771  ana->SetInputAODName(Form("%sTrigger_%s",particle.Data(),kAnaCaloTrackCorr.Data()));
772  ana->SetAODObjArrayName(Form("IC%sTrigger_%s_R%1.1f_ThMin%1.1f",particle.Data(),kAnaCaloTrackCorr.Data(),cone,pth));
773 
774  //
775  // Do settings for main isolation cut class
776  //
777  AliIsolationCut * ic = ana->GetIsolationCut();
778  ic->SetDebug(debug);
779  ic->SetParticleTypeInCone(partInCone);
780  ic->SetICMethod(thresType);
781  ic->SetPtFraction(0.1);
782  ic->SetPtThreshold(0.5); // default, change in next lines
783  ic->SetSumPtThreshold(1.0); // default, change in next lines
784 
785  if(cone > 0 && pth > 0)
786  {
787  ic->SetConeSize(cone);
788  ic->SetMinDistToTrigger(coneMin);
789  ic->SetPtThresholdMax(10000);
790 
791  if(thresType == AliIsolationCut::kPtThresIC)
792  {
793  printf("ConfigureIsolationAnalysis() *** Iso *** PtThresMin = %1.1f GeV/c *** R = %1.2f *** R min %1.2f\n",pth,cone,coneMin);
794  ic->SetPtThreshold(pth);
795  }
796 
797  if(thresType == AliIsolationCut::kSumPtIC)
798  {
799  printf("ConfigureIsolationAnalysis() *** Iso *** SumPtMin = %1.1f GeV/c *** R = %1.1f *** R min %1.2f\n",pth,cone,coneMin);
800  ic->SetSumPtThreshold(pth);
801  }
802  }
803  else
804  {
805  if(col=="pp")
806  {
807  ic->SetPtThreshold(0.5);
808  ic->SetSumPtThreshold(1.0) ;
809  ic->SetConeSize(0.4);
810  ic->SetMinDistToTrigger(-1);
811  }
812  if(col=="PbPb")
813  {
814  ic->SetPtThreshold(3.);
815  ic->SetSumPtThreshold(3.0) ;
816  ic->SetConeSize(0.3);
817  ic->SetMinDistToTrigger(-1);
818  }
819  }
820 
821 
822  // Do or not do isolation with previously produced AODs.
823  // No effect if use of SwitchOnSeveralIsolation()
824  ana->SwitchOffReIsolation();
825 
826  // Multiple IC
827  if(multi)
828  {
829  ic->SetConeSize(1.); // Take all for first iteration
830  ic->SetPtThreshold(100);// Take all for first iteration
831  ic->SetMinDistToTrigger(-1);
832 
833  ana->SwitchOnSeveralIsolation() ;
834  //ana->SetAODObjArrayName(Form("MultiIC%sTM%d",particle.Data(),tm));
835  ana->SetAODObjArrayName(Form("MultiIC%s",particle.Data()));
836 
837  ana->SetNCones(3);
838  ana->SetNPtThresFrac(2);
839  ana->SetConeSizes(0,0.3); ana->SetConeSizes(1,0.4); ana->SetConeSizes(2,0.5);
840  ana->SetPtThresholds(0, 0.5); ana->SetPtThresholds(1, 1); ana->SetPtThresholds(2, 1.5); ana->SetPtThresholds(3, 2);
841  ana->SetPtFractions (0, 0.05) ; ana->SetPtFractions (1, 0.1); ana->SetPtFractions (2, 0.2) ; ana->SetPtFractions (3, 0.3) ;
842  ana->SetSumPtThresholds(0, 0.5) ; ana->SetSumPtThresholds(1, 1) ; ana->SetSumPtThresholds(2, 1.5); ana->SetSumPtThresholds(3, 2) ;
843  //ana->SetPtThresholds(0, 0.5);
844 
845  ana->SwitchOffTMHistoFill();
846  ana->SwitchOffSSHistoFill();
847  }
848  else
850 
851  AliCaloPID* caloPID = ana->GetCaloPID();
852 
853  // Track matching
854  // tm = 1, fixed cuts
855  caloPID->SetEMCALDEtaCut(0.025);
856  caloPID->SetEMCALDPhiCut(0.030);
857 
858  // pT track dependent cuts
859  if(tm > 1) caloPID->SwitchOnEMCTrackPtDepResMatching();
860 
861  //Set Histograms name tag, bins and ranges
862 
863 // if(!multi) ana->AddToHistogramsName(Form("AnaIsol%s_TM%d_" ,particle.Data(),tm));
864 // else ana->AddToHistogramsName(Form("AnaMultiIsol%s_TM%d_",particle.Data(),tm));
865  if(!multi) ana->AddToHistogramsName(Form("AnaIsol%s_" ,particle.Data()));
866  else ana->AddToHistogramsName(Form("AnaMultiIsol%s_",particle.Data()));
867 
868  SetAnalysisCommonParameters(ana,histoString, calorimeter,year,col,simulation,printSettings,debug); // see method below
869 
870  if(particle=="Hadron" || particle.Contains("CTS"))
871  {
872  ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 200) ;
873  ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-1.5, 1.5, 300) ;
874  }
875 
876  if(printSettings) ic ->Print("");
877 
878  return ana;
879 }
880 
903  Bool_t bIsolated, Float_t shshMax,
904  Int_t partInCone, Int_t thresType,
905  Float_t cone, Float_t coneMin,
906  Float_t pth, Bool_t mixOn,
907  TString col, Bool_t simulation,
908  TString calorimeter, Int_t year, Int_t tm,
909  Bool_t printSettings, Int_t debug,
910  TString histoString )
911 {
913 
914  ana->SetTriggerPtRange(5,100);
915  ana->SetAssociatedPtRange(0.2,100);
916  ana->SetDeltaPhiCutRange (TMath::DegToRad()*120.,TMath::DegToRad()*240.);
917 
918  // Underlying event
919  ana->SetUeDeltaPhiCutRange(TMath::DegToRad()*60. ,TMath::DegToRad()*120.);
921 
922  ana->SwitchOffAbsoluteLeading(); // Select trigger leading particle of all the selected tracks
923  ana->SwitchOffNearSideLeading(); // Select trigger leading particle of all the particles at +-90 degrees, default
925 
926  if(leading > 0 && leading < 3 ) ana->SwitchOnAbsoluteLeading();
927  if(leading > 2 ) ana->SwitchOnNearSideLeading();
928  if(leading == 2 || leading == 4 ) ana->SwitchOnCheckNeutralClustersForLeading();
929 
933 
935 
936  if(particle.Contains("Photon"))
937  {
938  if(kAnaCutsString.Contains("Decay"))
939  {
940  printf("ConfigureHadronCorrelationAnalysis() *** Activate analysis on Tagged clusters as Decay product >> \n");
942  ana->SetNDecayBits(5);
944  if ( kAnaCutsString.Contains("Bkg") && !bIsolated )
946  }
947 
948  //printf("ConfigureHadronCorrelationAnalysis() *** SET M02 limits in correlation task *** \n");
949  ana->SetM02Cut(0.10,shshMax);
950  }
951 
952  if ( kAnaCutsString.Contains("PerSM") )
954 
955  if ( kAnaCutsString.Contains("PerTCard") )
957 
958  ana->SetMCGenType(0,7); // Change to higher to include Tagged decays
959 
960  ana->SwitchOffLeadHadronSelection(); // Open cuts, just fill histograms
962 
963  if ( kAnaCutsString.Contains("Bkg") && !bIsolated )
964  {
965  printf("ConfigureHadronCorrelationAnalysis() *** Activate analysis on PtTrig and Bkg bins,\n"
966  " \t make sure isolation runs first even if not used to select trigger >> \n");
968  }
969 
970  ana->SetLeadHadronPhiCut(TMath::DegToRad()*130, TMath::DegToRad()*230.);
971  ana->SetLeadHadronPtCut(0.5, 1000);
972 
973  // if triggering on PHOS and EMCAL is on
974  ana->SwitchOffNeutralCorr(); // Do only correlation with TPC
975  //ana->SetPi0AODBranchName("Pi0EMCAL_TrigEMC7_Cl_TM1");
976 
978 
980 
981  //if(!simulation) ana->SwitchOnFillPileUpHistograms();
982 
984 
985  ana->SetNAssocPtBins(16); // set last bin [20,30] GeV/c
986  // See AliAnaParticleCorrelation::InitParameters();
987  // Default bins{0.2,0.5,1,2,3,4,5,6,7,8,9,10,12,14,16,20,30,40,50,100} GeV/c
988  // If you want to change it:
989  // ana->SetAssocPtBinLimit(0, 1) ;
990  // ana->SetAssocPtBinLimit(1, 2) ;
991  // ana->SetAssocPtBinLimit(2, 3) ;
992  // ana->SetAssocPtBinLimit(3, 4) ;
993  // ana->SetAssocPtBinLimit(4, 5) ;
994  // ana->SetAssocPtBinLimit(5, 8) ;
995  // ana->SetAssocPtBinLimit(6, 10) ;
996  // ana->SetAssocPtBinLimit(7, 100);
997 
998  ana->SetNTriggerPtBins(5); // set last bin [25,30] GeV/c
999  // See AliAnaParticleCorrelation::InitParameters();
1000  // Default bins{10,12,16,20,25,30,40,50,75,100} GeV/c
1001  // If you want to change it:
1002  // ana->SetTriggerPtBinLimit(0, 5) ;
1003  // ana->SetTriggerPtBinLimit(1, 10) ;
1004 
1005  ana->SelectIsolated(bIsolated); // do correlation with isolated photons
1006 
1007  // Mixing with own pool
1008  if(mixOn)
1009  {
1010  ana->SwitchOnOwnMix();
1012 
1013  if(bIsolated)
1014  {
1015  //Do settings for main isolation cut class
1016  AliIsolationCut * ic = ana->GetIsolationCut();
1017  ic->SetDebug(debug);
1018 
1019  if(cone >0 && pth > 0)
1020  {
1021  //printf("ConfigureHadronCorrelationAnalysis() *** PtThres = %1.1f GeV/c *** R = %1.1f *** R min = %1.2f\n",pth,cone,coneMin);
1022  ic->SetPtThreshold(pth);
1023  ic->SetConeSize(cone);
1024  ic->SetMinDistToTrigger(coneMin);
1025  }
1026  else
1027  {
1028  if(col=="pp")
1029  {
1030  ic->SetPtThreshold(0.5);
1031  ic->SetConeSize(0.4);
1032  ic->SetMinDistToTrigger(-1);
1033  }
1034  if(col=="PbPb")
1035  {
1036  ic->SetPtThreshold(3.);
1037  //ic->SetPtThreshold(1.);
1038  ic->SetConeSize(0.3);
1039  ic->SetMinDistToTrigger(-1);
1040  }
1041  }
1042 
1043  ic->SetPtFraction(0.1);
1044  ic->SetSumPtThreshold(1.0) ;
1045  ic->SetParticleTypeInCone(partInCone);
1046  ic->SetICMethod(thresType);
1047  }
1048  }
1049  else
1050  ana->SwitchOffOwnMix();
1051 
1052  ana->SetNZvertBin(20);
1053 
1054  if(col=="pp")
1055  {
1056  ana->SetNMaxEvMix(100);
1057  ana->SwitchOnTrackMultBins();
1058  ana->SetNTrackMultBin(10);
1059  ana->SetNRPBin(1);
1060  }
1061  else
1062  {
1063  ana->SetNMaxEvMix(10);
1064  ana->SwitchOffTrackMultBins(); // centrality bins
1065  ana->SetNCentrBin(12);
1066  ana->SetNRPBin(3);
1067  if(kAnaCaloTrackCorr.Contains("60_90"))
1068  {
1069  //printf("ConfigureHadronCorrelationAnalysis() *** Set mixing for peripheral ***\n");
1070  ana->SetNMaxEvMix(50);
1071  ana->SetNCentrBin(2);
1072  }
1073  }
1074 
1075  // Avoid borders of calorimeter, same as for isolation
1076  //
1077  ana->SwitchOnFiducialCut();
1078  if ( calorimeter == "EMCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.60, 86, 174) ;
1079  else if ( calorimeter == "DCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.60, 266, 314) ;
1080  else if ( calorimeter == "PHOS" ) ana->GetFiducialCut()->SetSimplePHOSFiducialCut (0.10, 266, 314) ;
1081 
1082  // Track matching, in case of mixing and specially in isolation case
1083  //
1084  AliCaloPID* caloPID = ana->GetCaloPID();
1085  // tm = 1, fixed cuts
1086  caloPID->SetEMCALDEtaCut(0.025);
1087  caloPID->SetEMCALDPhiCut(0.030);
1088 
1089  // pT track dependent cuts
1090  if(tm > 1) caloPID->SwitchOnEMCTrackPtDepResMatching();
1091 
1092  // Input / output delta AOD settings
1093  //
1094  ana->SetInputAODName(Form("%sTrigger_%s",particle.Data(),kAnaCaloTrackCorr.Data()));
1095  ana->SetAODObjArrayName(Form("%sHadronCorrIso%dTrigger_%s",particle.Data(),bIsolated,kAnaCaloTrackCorr.Data()));
1096  //ana->SetAODNamepTInConeHisto(Form("IC%s_%s_R%1.1f_ThMin%1.1f" ,particle.Data(),kAnaCaloTrackCorr.Data(),cone,pth));
1097 
1098  //Set Histograms name tag, bins and ranges
1099  //
1100  //ana->AddToHistogramsName(Form("Ana%sHadronCorr_Iso%d_TM%d_",particle.Data(),bIsolated,tm));
1101  ana->AddToHistogramsName(Form("Ana%sHadronCorr_Iso%d_",particle.Data(),bIsolated));
1102 
1103  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug); // see method below
1104 
1105  if(particle=="Hadron" || particle.Contains("CTS"))
1106  {
1107  ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 200) ;
1108  ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-1.5, 1.5, 300) ;
1109  }
1110 
1111  return ana;
1112 }
1113 
1123 ( Bool_t simulation, Bool_t printSettings, Int_t debug, TString histoString )
1124 {
1126 
1127  ana->SetDebug(debug);
1128 
1129  // selection cuts
1130 
1131  ana->SetMinPt(0.2);
1132  ana->SwitchOnFiducialCut();
1133  ana->GetFiducialCut()->SetSimpleCTSFiducialCut(0.8, 0, 360) ; //more restrictive cut in reader and after in isolation
1134 
1136 
1139 
1140  // Branch AOD settings
1141 
1142  ana->SetOutputAODName(Form("HadronTrigger_%s",kAnaCaloTrackCorr.Data()));
1143  ana->SetOutputAODClassName("AliCaloTrackParticle"); // use if no correlation done
1144 
1145  //Set Histograms name tag, bins and ranges
1146 
1147  ana->AddToHistogramsName("AnaHadrons_");
1148 
1149  SetAnalysisCommonParameters(ana,histoString,"CTS",2012,"pp",simulation,printSettings,debug); // see method below
1150 
1151  return ana;
1152 }
1153 
1167 (Int_t tm, TString col , Bool_t simulation,
1168  TString calorimeter, Int_t year,
1169  Bool_t printSettings, Int_t debug, TString histoString )
1170 {
1172 
1173  ana->SetM02Min(-1);
1174  ana->SetNCellsPerClusterMin(-1);
1175 
1176  ana->SetCalorimeter(calorimeter);
1177  if(calorimeter == "DCAL")
1178  {
1179  TString calo = "EMCAL";
1180  ana->SetCalorimeter(calo);
1181  }
1182 
1183  if(simulation) ana->SetConstantTimeShift(615);
1184 
1185  ana->SwitchOffFiducialCut();
1186 
1188 
1190 
1192 
1194 
1195  ana->SwitchOffStudyMatchedPID() ;
1196 
1197  ana->SwitchOffStudyWeight();
1198 
1199  ana->SetNCellBinLimits(3); // set to -1 for no analysis on predefined bins in nCell
1200  ana->SetDistToBadMin(2);
1201 
1203  ana->SwitchOffStudyExotic();
1205  ana->SwitchOffStudyCellTime() ;
1206 
1207  // PID cuts (Track-matching)
1208  ana->SwitchOnCaloPID(); // do PID selection, unless specified in GetCaloPID, selection not based on bayesian
1209  AliCaloPID* caloPID = ana->GetCaloPID();
1210 
1211  if(tm > 1)
1212  {
1213  // track pT dependent cut
1215 
1216  // Begining of histograms name
1217  ana->AddToHistogramsName("Shape_TMDep_");
1218  }
1219  else if ( tm )
1220  {
1221  // Fix
1223  caloPID->SetEMCALDEtaCut(0.025);
1224  caloPID->SetEMCALDPhiCut(0.030);
1225 
1226  // Begining of histograms name
1227  ana->AddToHistogramsName("Shape_TMFix_");
1228  }
1229 
1230  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug); // see method below
1231 
1232  AliHistogramRanges* histoRanges = ana->GetHistogramRanges();
1233  histoRanges->SetHistoPtRangeAndNBins(0, 50, 100) ; // Reduce a bit size
1234 
1235  return ana;
1236 }
1237 
1250  TString calorimeter, Int_t year,
1251  Bool_t printSettings, Int_t debug,
1252  TString histoString )
1253 {
1255 
1256  ana->SetCalorimeter(calorimeter);
1257  if(calorimeter == "DCAL")
1258  {
1259  TString calo = "EMCAL";
1260  ana->SetCalorimeter(calo);
1261  }
1262 
1263  ana->SetTimeCut(-1e10,1e10); // Open time cut
1264 
1265  ana->SwitchOffCorrelation(); // make sure you switch in the reader PHOS and EMCAL cells and clusters if option is ON
1266 
1268 
1269  ana->SwitchOffFiducialCut();
1273  ana->SwitchOffStudyBadClusters() ;
1275 
1277 
1278  ana->AddToHistogramsName("QA_"); // Begining of histograms name
1279 
1280  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug); // see method below
1281 
1282  return ana;
1283 }
1284 
1301  Float_t cone, Float_t coneMin,
1302  TString col, Bool_t simulation,
1303  TString calorimeter, Int_t year,
1304  Bool_t printSettings, Int_t debug,
1305  TString histoString )
1306 {
1308 
1309  // Trigger detector, acceptance and pT cut
1310  ana->SetTriggerDetector(calorimeter);
1311  if(calorimeter == "DCAL")
1312  {
1313  TString calo = "EMCAL";
1314  ana->SetTriggerDetector(calo);
1315  }
1316 
1317  ana->SetMinPt(2); // Trigger photon, pi0 minimum pT
1318  if ( calorimeter == "EMCAL" ) ana->GetFiducialCutForTrigger()->SetSimpleEMCALFiducialCut(0.60, 86, 174) ;
1319  else if ( calorimeter == "DCAL" ) ana->GetFiducialCutForTrigger()->SetSimpleEMCALFiducialCut(0.60, 266, 314) ;
1320  else if ( calorimeter == "PHOS" ) ana->GetFiducialCutForTrigger()->SetSimplePHOSFiducialCut (0.10, 266, 314) ;
1321 
1322  // Particles associated to trigger or isolation cone acceptance and pT cut
1323  ana->SetCalorimeter(calorimeter);
1324  if(calorimeter == "DCAL")
1325  {
1326  TString calo = "EMCAL";
1327  ana->SetCalorimeter(calo);
1328  }
1329 
1330  ana->SetMinChargedPt(0.2);
1331  ana->SetMinNeutralPt(0.3);
1332 
1333  if ( calorimeter == "EMCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.70, 80, 174) ;
1334  else if ( calorimeter == "DCAL" ) ana->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.70, 260, 327) ;
1335  else if ( calorimeter == "PHOS" ) ana->GetFiducialCut()->SetSimplePHOSFiducialCut (0.12, 250, 320) ;
1336  ana->GetFiducialCut()->SetSimpleCTSFiducialCut(0.9, 0, 360);
1337 
1338  // Isolation paramters
1339  AliIsolationCut * ic = ana->GetIsolationCut();
1340  ic->SetDebug(debug);
1341  ic->SetPtThreshold(pth);
1342  ic->SetConeSize(cone);
1343  ic->SetMinDistToTrigger(coneMin);
1344  ic->SetSumPtThreshold(1.0) ;
1345  ic->SetICMethod(thresType);
1346 
1347  ana->AddToHistogramsName("AnaGenKine_");
1348 
1349  SetAnalysisCommonParameters(ana,histoString,calorimeter,year,col,simulation,printSettings,debug); // see method below
1350 
1351  return ana;
1352 }
1353 
1380  TList* anaList = 0x0,
1381  TString calorimeter = "EMCAL", // "DCAL", "PHOS"
1382  Bool_t simulation = kFALSE,
1383  Int_t year = 2011,
1384  TString col = "pp",
1385  TString analysisString= "Photon_MergedPi0_DecayPi0_Isolation_Correlation_QA_Charged",
1386  TString histoString = "",
1387  Float_t shshMax = 0.27,
1388  Float_t isoCone = 0.4,
1389  Float_t isoConeMin = -1,
1390  Float_t isoPtTh = 2,
1391  Int_t isoMethod = AliIsolationCut::kSumPtIC,
1393  Int_t leading = 0,
1394  Int_t tm = 2,
1395  Bool_t mixOn = kTRUE,
1396  Bool_t printSettings = kFALSE,
1397  Int_t debug = 0
1398 )
1399 {
1400  if ( !anaList )
1401  {
1402  printf("ConfigureCaloTrackCorrAnalysis() << No analysis list passed. Stop >>\n");
1403  return;
1404  }
1405 
1406  // Check the passed variables
1407  //
1408  printf("ConfigureCaloTrackCorrAnalysis() << Settings: Base string <%s>, Analysis string <%s>, "
1409  "\n calorimeter <%s>, simulation <%d>, year <%d>, col <%s>, "
1410  "\n shshMax <%2.2f>, R <%1.2f>, Rmin <%1.2f>, isoPtTh <%2.2f>, isoMethod <%d>,isoContent <%d>,"
1411  "\n leading <%d>, tm <%d>, mixOn <%d>, printSettings <%d>, debug <%d>\n",
1412  anaList->GetName(), analysisString.Data(),
1413  calorimeter.Data(), simulation, year, col.Data(),
1414  shshMax,isoCone,isoConeMin,isoPtTh,isoMethod,isoContent,
1415  leading,tm,mixOn,printSettings,debug);
1416 
1417  kAnaCutsString = analysisString;
1418 
1419  kAnaCaloTrackCorr = Form("%s",anaList->GetName());
1420 
1421  if ( analysisString.Contains("Isolation") )
1422  kAnaCaloTrackCorr+= Form("_Iso_Meth%d_Part%d_Pt%1.2f_R%1.2f",isoMethod,isoContent,isoPtTh,isoCone);
1423  if ( analysisString.Contains("Corr") && analysisString.Contains("Photon") && shshMax > 0)
1424  kAnaCaloTrackCorr+= Form("_CorrM02_%1.2f",shshMax);
1425 
1426  if ( isoConeMin > 0 ) kAnaCaloTrackCorr+=Form("_Rmin%1.2f",isoConeMin);
1427  if ( leading > 0 ) kAnaCaloTrackCorr+=Form("_Lead%d" ,leading);
1428  if ( tm > 0 ) kAnaCaloTrackCorr+=Form("_TM%d" ,tm);
1429 
1430  printf("ConfigureCaloTrackCorrAnalysis() <<<< TMP branch internal NAME: %s >>>>>\n",kAnaCaloTrackCorr.Data());
1431 
1432  // #### Configure analysis ####
1433 
1434 
1435  Int_t n = anaList->GetEntries();//Analysis number, order is important
1436 
1437  //
1438  // Photon analysis
1439  //
1440  if ( analysisString.Contains("Photon") )
1441  {
1442  anaList->AddAt(ConfigurePhotonAnalysis
1443  (col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Photon cluster selection
1444 
1445  if ( analysisString.Contains("InvMass") )
1446  anaList->AddAt(ConfigureInvariantMassAnalysis
1447  (col,simulation,calorimeter,/*bothCalo*/kFALSE,
1448  year,/*mix*/kTRUE,printSettings,debug,histoString), n++);
1449 
1450  if ( analysisString.Contains("DecayPi0") )
1451  {
1452  anaList->AddAt(ConfigurePi0EbEAnalysis
1453  ("Pi0" , AliAnaPi0EbE::kIMCalo,kFALSE,kFALSE,
1454  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Pi0 event by event selection, invariant mass and photon tagging from decay
1455 
1456  anaList->AddAt(ConfigurePi0EbEAnalysis
1457  ("Eta" , AliAnaPi0EbE::kIMCalo,kFALSE,kFALSE,
1458  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Eta event by event selection, invariant mass and photon tagging from decay
1459 
1460  anaList->AddAt(ConfigurePi0EbEAnalysis
1461  ("Pi0SideBand", AliAnaPi0EbE::kIMCalo,kFALSE,kFALSE,
1462  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Pi0 out of peak event by event selection, and photon tagging from decay
1463 
1464  anaList->AddAt(ConfigurePi0EbEAnalysis
1465  ("EtaSideBand", AliAnaPi0EbE::kIMCalo,kFALSE,kFALSE,
1466  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Eta out of peak event by event selection, and photon tagging from decay
1467  }
1468 
1469  if ( analysisString.Contains("Isolation") )
1470  {
1471  anaList->AddAt(ConfigureIsolationAnalysis
1472  ("Photon", leading, isoContent,isoMethod,isoCone,isoConeMin,isoPtTh, kFALSE,
1473  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Photon isolation
1474 
1475  }
1476 
1477  if( analysisString.Contains("Correlation") )
1478  {
1479  if ( !analysisString.Contains("MultiIso") )
1480  {
1481  anaList->AddAt(ConfigureHadronCorrelationAnalysis
1482  ("Photon", leading, kFALSE, shshMax, isoContent,isoMethod,isoCone,isoConeMin,isoPtTh, mixOn,
1483  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Gamma-hadron correlation
1484  }
1485 
1486  if ( analysisString.Contains("Isolation") )
1487  {
1488  anaList->AddAt(ConfigureHadronCorrelationAnalysis
1489  ("Photon", leading, kTRUE, shshMax, isoContent,isoMethod,isoCone,isoConeMin,isoPtTh, mixOn,
1490  col,simulation,calorimeter,year,tm,printSettings,debug,histoString) , n++); // Isolated gamma hadron correlation
1491  }
1492  } // correlation
1493  }
1494 
1495  //
1496  // Merged pi0 analysis
1497  //
1498  if ( analysisString.Contains("MergedPi0") )
1499  {
1500  anaList->AddAt(ConfigurePi0EbEAnalysis
1501  ("Pi0", AliAnaPi0EbE::kSSCalo,kTRUE,kTRUE,
1502  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Pi0 event by event selection, cluster splitting
1503  if ( analysisString.Contains("Isolation") )
1504  {
1505  anaList->AddAt(ConfigureIsolationAnalysis
1506  ("Pi0SS", leading, isoContent,isoMethod,isoCone,isoConeMin,isoPtTh, kFALSE,
1507  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Pi0 isolation, cluster splits
1508 
1509  }
1510 
1511  if( analysisString.Contains("Correlation") )
1512  {
1513  if ( !analysisString.Contains("MultiIso") )
1514  {
1515  anaList->AddAt(ConfigureHadronCorrelationAnalysis
1516  ("Pi0SS", leading, kFALSE, shshMax, isoContent,isoMethod,isoCone,isoConeMin,isoPtTh, mixOn,
1517  col,simulation,calorimeter,year,tm,printSettings,debug,histoString), n++); // Pi0-hadron correlation
1518  }
1519 
1520  if ( analysisString.Contains("Isolation") )
1521  {
1522  anaList->AddAt(ConfigureHadronCorrelationAnalysis
1523  ("Pi0SS", leading, kTRUE, shshMax, isoContent,isoMethod,isoCone,isoConeMin,isoPtTh, mixOn,
1524  col,simulation,calorimeter,year,tm,printSettings,debug,histoString) , n++); // Isolated pi0-hadron correlation
1525  }
1526  } // correlation
1527  }
1528 
1529  // Check the generated kinematics
1530  if(simulation && analysisString.Contains("Generator"))
1531  {
1532  anaList->AddAt(ConfigureGenKineAnalysis
1533  (isoMethod,isoPtTh,isoCone,isoConeMin,
1534  col,simulation,calorimeter,year,printSettings,debug,histoString), n++);
1535  }
1536 
1537  // Charged analysis
1538  if ( analysisString.Contains("Charged") )
1539  {
1540  anaList->AddAt(ConfigureChargedAnalysis(simulation,printSettings,debug,histoString), n++); // track selection checks
1541  }
1542 
1543  // Cluster Shape studies
1544  if ( analysisString.Contains("ClusterShape") )
1545  {
1546  anaList->AddAt(ConfigureClusterShape(tm,col,simulation,calorimeter,year,printSettings,debug,histoString) , n++);
1547  }
1548 
1549  // Calo QA
1550  if ( analysisString.Contains("QA") )
1551  {
1552  anaList->AddAt(ConfigureQAAnalysis(col,simulation,calorimeter,year,printSettings,debug,histoString) , n++);
1553  }
1554 
1555  printf("ConfigureCaloTrackCorrAnalysis() << End configuration for %s with total analysis %d>>\n",
1556  kAnaCaloTrackCorr.Data(), n);
1557 }
1558 
1559 
1560 
void SetSumPtThresholds(Int_t i, Float_t pt)
void SwitchOffSelectedClusterHistoFill()
Definition: AliAnaPi0EbE.h:112
void SetPtThreshold(Float_t pt)
void ConfigureCaloTrackCorrAnalysis(TList *anaList=0x0, TString calorimeter="EMCAL", Bool_t simulation=kFALSE, Int_t year=2011, TString col="pp", TString analysisString="Photon_MergedPi0_DecayPi0_Isolation_Correlation_QA_Charged", TString histoString="", Float_t shshMax=0.27, Float_t isoCone=0.4, Float_t isoConeMin=-1, Float_t isoPtTh=2, Int_t isoMethod=AliIsolationCut::kSumPtIC, Int_t isoContent=AliIsolationCut::kNeutralAndCharged, Int_t leading=0, Int_t tm=2, Bool_t mixOn=kTRUE, Bool_t printSettings=kFALSE, Int_t debug=0)
void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
TString kAnaCaloTrackCorr
Global name to be composed of the settings, used to set the AOD branch name.
void SetAngleCut(Float_t a)
Definition: AliAnaPi0.h:77
void SwitchOnPairWithOtherDetector()
Definition: AliAnaPi0.h:151
void SwitchOnFillOriginHisto()
Definition: AliAnaPi0.h:135
void SetTimeCut(Double_t min, Double_t max)
void SetSimpleCTSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void AddToHistogramsName(TString add)
TString kAnaCutsString
Global name to be composed of the analysis components chain and some internal settings.
void SwitchOnFillAllTrackMatchingHistogram()
void SetSplitWidthSigma(Float_t s)
Definition: AliCaloPID.h:283
void SwitchOnTrackMatchRejection()
Definition: AliAnaPhoton.h:134
void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetClusterSplittingM02Cut(Float_t min=0, Float_t max=100)
Definition: AliCaloPID.h:264
void SwitchOnSplitShowerShapeCut()
Definition: AliCaloPID.h:260
void SwitchOnTMHistoFill()
Definition: AliAnaPhoton.h:96
void SetAssociatedPtRange(Float_t min, Float_t max)
Class with utils to perform Isolation Cuts.
AliAnaGeneratorKine * ConfigureGenKineAnalysis(Int_t thresType, Float_t pth, Float_t cone, Float_t coneMin, TString col, Bool_t simulation, TString calorimeter, Int_t year, Bool_t printSettings, Int_t debug, TString histoString)
void SetNPIDBits(Int_t s)
Definition: AliAnaPi0.h:119
void SetConeSize(Float_t r)
void SetPtFraction(Float_t pt)
void SwitchOnSelectPairInIsolationCone()
Definition: AliAnaPi0EbE.h:127
void SetTimeCut(Double_t min, Double_t max)
Definition: AliAnaPi0EbE.h:142
void FillNPrimaryHistograms(Int_t n)
Definition: AliAnaPhoton.h:145
void SwitchOffSplitShowerShapeCut()
Definition: AliCaloPID.h:261
void SetClusterSplittingMinNCells(Int_t c)
Definition: AliCaloPID.h:267
void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n)
Selected photon clusters invariant mass analysis.
Definition: AliAnaPi0.h:39
void SetDebug(Int_t d)
void SetMinChargedPt(Float_t pt)
virtual void SetInputAODName(TString name)
void SetM02CutForInvMass(Float_t min=0, Float_t max=10)
Definition: AliAnaPi0EbE.h:117
virtual AliIsolationCut * GetIsolationCut()
void SwitchOnSMCombinations()
Definition: AliAnaPi0.h:90
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
Definition: AliAnaPhoton.h:117
void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
void KeepNeutralMesonSelectionHistos(Bool_t keep)
void SetTriggerDetector(TString det)
Set the calorimeter for the analysis.
void SetSimpleEMCALFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SwitchOnAngleSelection()
Definition: AliAnaPi0.h:71
virtual void SetOutputAODClassName(TString name)
void SwitchOnTMTrackPtHistoFill()
Definition: AliAnaPhoton.h:99
void SwitchOffFillShowerShapeHistograms()
Definition: AliAnaPhoton.h:74
virtual AliNeutralMesonSelection * GetNeutralMesonSelection()
void SetSumPtThreshold(Float_t s)
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
Definition: AliAnaPi0EbE.h:133
void ana(anaModes mode=mLocal)
Definition: ana.C:990
void SwitchOffMultipleCutAnalysis()
Definition: AliAnaPi0.h:111
Class for the Calorimeter QA analysis.
void SwitchOnFillShowerShapeHistogramsPerSM()
Definition: AliAnaPhoton.h:79
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
Get trigger particles/partons/jets and correlations at generator level.
void SwitchOffSplitAsymmetryCut()
Definition: AliCaloPID.h:257
void SetAnalysisType(anaTypes ana)
Definition: AliAnaPi0EbE.h:92
void SwitchOffTMHistoFill()
Definition: AliAnaPi0EbE.h:109
AliAnaCalorimeterQA * ConfigureQAAnalysis(TString col, Bool_t simulation, TString calorimeter, Int_t year, Bool_t printSettings, Int_t debug, TString histoString)
void SetNCellCut(Int_t n)
Definition: AliAnaPhoton.h:125
AliAnaPi0 * ConfigureInvariantMassAnalysis(TString col, Bool_t simulation, TString calorimeter, Bool_t bothCalo, Int_t year, Bool_t mixOn, Bool_t printSettings, Int_t debug, TString histoString)
Select cluster pairs or single merged clusters with pi0 or eta invariant mass.
Definition: AliAnaPi0EbE.h:30
AliAnaPhoton * ConfigurePhotonAnalysis(TString col, Bool_t simulation, TString calorimeter, Int_t year, Int_t tm, Bool_t printSettings, Int_t debug, TString histoString)
void SetSimplePHOSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
AliAnaChargedParticles * ConfigureChargedAnalysis(Bool_t simulation, Bool_t printSettings, Int_t debug, TString histoString)
void SetPtFractions(Int_t i, Float_t pt)
void SetAngleMaxCut(Float_t a)
Definition: AliAnaPi0.h:78
2 calorimeter clusters invariant mass selection
Definition: AliAnaPi0EbE.h:86
const TString calorimeter
Definition: anaM.C:36
void SetHistoTrackResidualEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetIsolationCandidateMinPt(Float_t min)
Definition: AliAnaPi0EbE.h:122
void SetAnalysisCommonParameters(AliAnaCaloTrackCorrBaseClass *ana, TString histoString, TString calorimeter, Int_t year, TString col, Bool_t simulation, Bool_t printSettings, Int_t debug)
void SetPHOSRCut(Float_t rcut)
Definition: AliCaloPID.h:213
void SetEMCALDPhiCut(Float_t dcut)
Definition: AliCaloPID.h:221
void SetLeadHadronPtCut(Float_t min, Float_t max)
virtual void SetOutputAODName(TString name)
void SetICMethod(Int_t i)
void SwitchOnFillAngleHisto()
Definition: AliAnaPi0.h:80
void SetR(Float_t r)
Definition: AliAnaPi0EbE.h:121
virtual void SetCalorimeter(TString calo)
Set the calorimeter for the analysis. A string.
Correlate trigger particles (photon, pi0, tracks) and charged tracks: Azimuthal correlations, xE distributions.
virtual void SetNTrackMultBin(Int_t n=1)
Number of bins in centrality.
void DoEMCALFiducialCut(Bool_t b)
Base class for CaloTrackCorr analysis algorithms.
void SwitchOffTrackMatchRejection()
Definition: AliAnaPhoton.h:135
void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
void SetUeDeltaPhiCutRange(Double_t uephimin, Double_t uephimax)
1 calorimeter cluster and 1 photon conversion pair invariant mass selection
Definition: AliAnaPi0EbE.h:88
void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoPOverERangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual AliFiducialCut * GetFiducialCut()
void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
int Int_t
Definition: External.C:63
void SetSideBandCutRanges(Double_t lmin, Double_t lmax, Double_t rmin, Double_t rmax)
virtual AliHistogramRanges * GetHistogramRanges()
void SwitchOnSplitAsymmetryCut()
Definition: AliCaloPID.h:256
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
float Float_t
Definition: External.C:68
Filter EMCal/PHOS clusters for photon analysis.
Definition: AliAnaPhoton.h:33
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetConeSizes(Int_t i, Float_t r)
Class for cluster shape, cell T-Card correlation and exoticity.
void SwitchOnSelectIsolatedDecay()
Definition: AliAnaPi0EbE.h:124
void SwitchOnUEBandSubtractionHistoFill(Int_t lev=1)
void SetM02Cut(Float_t min=0, Float_t max=10)
void SwitchOnSplitClusterDistToBad()
Definition: AliAnaPi0EbE.h:160
void SwitchOffTrackMatchRejection()
Definition: AliAnaPi0EbE.h:149
virtual void SetHistoERangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetInputAODGammaConvName(TString name)
Definition: AliAnaPi0EbE.h:98
void SetHistoNClusterCellRangeAndNBins(Int_t min, Int_t max, Int_t n)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Definition: AliAnaPi0.cxx:2614
void SetMinNeutralPt(Float_t pt)
anaTypes
Analysis types.
Definition: AliAnaPi0EbE.h:84
void SetParticle(TString particleName)
Set some default parameters for selection of pi0 or eta.
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SetHistoYRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetTimeCut(Double_t min, Double_t max)
Definition: AliAnaPhoton.h:120
AliAnaParticleIsolation * ConfigureIsolationAnalysis(TString particle, Int_t leading, Int_t partInCone, Int_t thresType, Float_t cone, Float_t coneMin, Float_t pth, Bool_t multi, TString col, Bool_t simulation, TString calorimeter, Int_t year, Int_t tm, Bool_t printSettings, Int_t debug, TString histoString)
AliAnaClusterShapeCorrelStudies * ConfigureClusterShape(Int_t tm, TString col, Bool_t simulation, TString calorimeter, Int_t year, Bool_t printSettings, Int_t debug, TString histoString)
virtual TString GetAddedHistogramsStringToName() const
void SetPtThresholdMax(Float_t pt)
AliFiducialCut * GetFiducialCutForTrigger()
void SetEtaMassRange(Float_t min, Float_t max)
Definition: AliCaloPID.h:305
void SwitchOnTMHistoFill()
Definition: AliAnaPi0EbE.h:108
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)
void SetPi0MassRange(Float_t min, Float_t max)
Definition: AliCaloPID.h:304
Class containing more common histogram axis types.
void SetEMCALLambda0CutMax(Float_t lcut)
Definition: AliCaloPID.h:202
void SwitchOnTrackMatchRejection()
Definition: AliAnaPi0EbE.h:148
virtual void SetNCentrBin(Int_t n=1)
Number of bins in reaction plain.
AliAnaPi0EbE * ConfigurePi0EbEAnalysis(TString particle, Int_t analysis, Bool_t useSSIso, Bool_t useAsy, TString col, Bool_t simulation, TString calorimeter, Int_t year, Int_t tm, Bool_t printSettings, Int_t debug, TString histoString)
void SetNAsymCuts(Int_t s)
Definition: AliAnaPi0.h:117
virtual void SetNRPBin(Int_t n=1)
Number of bins for vertex position.
void SetPHOSDispersionCut(Float_t dcut)
Definition: AliCaloPID.h:208
void SetHistoNClustersRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SetNLMCut(Int_t min, Int_t max)
Definition: AliAnaPi0EbE.h:100
Track selection for correlation analysis.
void SetMCGenType(Int_t min=0, Int_t max=6)
void SwitchOnFillShowerShapeHistograms()
Definition: AliAnaPhoton.h:73
Select clusters/tracks with low particle environment in their vecinity, isolated within a cone...
void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffFillWeightHistograms()
Definition: AliAnaPi0EbE.h:152
void SetHistoAsymmetryRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0MultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SwitchOnEMCTrackPtDepResMatching()
Definition: AliCaloPID.h:228
virtual void SetAODObjArrayName(TString name)
void SetNTriggerPtBins(Int_t n)
Set number of associated charged (neutral) hadrons pT bins.
AliAnaParticleHadronCorrelation * ConfigureHadronCorrelationAnalysis(TString particle, Int_t leading, Bool_t bIsolated, Float_t shshMax, Int_t partInCone, Int_t thresType, Float_t cone, Float_t coneMin, Float_t pth, Bool_t mixOn, TString col, Bool_t simulation, TString calorimeter, Int_t year, Int_t tm, Bool_t printSettings, Int_t debug, TString histoString)
void SetHistoZRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0SignalRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void Print(const Option_t *) const
Print some relevant parameters set for the analysis.
Class that contains methods to select candidate cluster pairs to neutral meson.
void SetHistoTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoFinePtRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetOtherDetectorInputName(TString name)
Definition: AliAnaPi0.h:153
void SetNAssocPtBins(Int_t n)
Set number of associated charged (neutral) hadrons pT bins.
Class for PID selection with calorimeters.
Definition: AliCaloPID.h:53
1 calorimeter cluster shower shape and split invariatn mass selection
Definition: AliAnaPi0EbE.h:87
void FillNOriginHistograms(Int_t n)
Definition: AliAnaPhoton.h:143
virtual void SetNMaxEvMix(Int_t n=20)
Number of bins in track multiplicity.
void SetNLMMinEnergy(Int_t i, Float_t min)
Definition: AliAnaPi0EbE.h:138
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
bool Bool_t
Definition: External.C:53
void SetLeadHadronPhiCut(Float_t min, Float_t max)
void SetHistodEdxRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffEMCTrackPtDepResMatching()
Definition: AliCaloPID.h:229
void SetInvMassCutMaxParameters(Float_t a, Float_t b, Float_t c)
void SetHistoHBPRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALLambda0CutMin(Float_t lcut)
Definition: AliCaloPID.h:205
void SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetParticleTypeInCone(Int_t i)
void SetHistoVertexDistRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetSubClusterEnergyMinimum(Int_t i, Float_t min)
Definition: AliCaloPID.h:273
void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALDEtaCut(Float_t dcut)
Definition: AliCaloPID.h:218
void SetPhotonMassRange(Float_t min, Float_t max)
Definition: AliCaloPID.h:306
void SetPtThresholds(Int_t i, Float_t pt)
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffAllNLMHistoFill()
Definition: AliAnaPi0EbE.h:106
void SetNLMCut(Int_t min, Int_t max)
Definition: AliAnaPhoton.h:128
void SetMinDistToTrigger(Float_t md)
Int_t GetFirstSMCoveredByTRD() const
Time cut in ns.
void SetTriggerPtRange(Float_t min, Float_t max)