]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/macros/QA/AddTaskPi0IMGammaCorrQA.C
change the setting of the maximum number of super modules from the analysis class...
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / macros / QA / AddTaskPi0IMGammaCorrQA.C
CommitLineData
380fb351 1
2AliAnalysisTaskCaloTrackCorrelation *AddTaskPi0IMGammaCorrQA(const TString calorimeter = "EMCAL",
3 const Bool_t simulation = kFALSE,
4 const TString collision = "pp",
5 const TString suffix = "default",
6 const Bool_t qaan = kFALSE,
7 const Bool_t hadronan = kFALSE,
8 const Int_t minCen = -1,
9 const Int_t maxCen = -1,
10 const Int_t debugLevel = -1
11 )
12{
13 // Creates a CaloTrackCorr task, configures it and adds it to the analysis manager.
14
15
16 if(simulation)
17 {
18 printf("AddTaskPi0IMGammaCorrQA - CAREFUL : Triggered events not checked in simulation!! \n");
19 TString ssuffix = suffix;
20 if(!ssuffix.Contains("default")) return;
21 }
22
23 // Get the pointer to the existing analysis manager via the static access method.
24
25 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
26 if (!mgr)
27 {
28 ::Error("AddTaskPi0IMGammaCorrQA", "No analysis manager to connect to.");
29 return NULL;
30 }
31
32 // Check the analysis type using the event handlers connected to the analysis manager.
33
34 if (!mgr->GetInputEventHandler())
35 {
36 ::Error("AddTaskPi0IMGammaCorrQA", "This task requires an input event handler");
37 return NULL;
38 }
39
40 TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
41
42 // Name for containers
43
44 TString containerName = Form("%s_%s",calorimeter.Data(), suffix.Data());
45
46 if(collision!="pp" && maxCen>=0) containerName+=Form("Cen%d_%d",minCen,maxCen);
47
48 printf("AddTaskPi0IMGammaCorrQA - Container NAME: %s \n",containerName.Data());
49
50 // #### Configure analysis ####
51
52 AliAnaCaloTrackCorrMaker * maker = new AliAnaCaloTrackCorrMaker();
53
54 // General frame setting and configuration
55 maker->SetReader ( ConfigureReader (inputDataType,minCen,maxCen,simulation,debugLevel) );
56 maker->SetCaloUtils( ConfigureCaloUtils(simulation,debugLevel) );
57
58 // Analysis tasks setting and configuration
59 Int_t n = 0;//Analysis number, order is important
60
61 // Photon analysis
62 maker->AddAnalysis(ConfigurePhotonAnalysis(calorimeter, containerName,simulation ,debugLevel), n++); // Photon cluster selection
63 maker->AddAnalysis(ConfigurePi0Analysis (calorimeter,collision,containerName,simulation,qaan,debugLevel) ,n++); // Previous photon invariant mass
64
65 if(hadronan)
66 {
67 maker->GetReader()->SwitchOnCTS();
68 maker->AddAnalysis(ConfigureChargedAnalysis(containerName,simulation,debugLevel), n++); // charged tracks plots
69 maker->AddAnalysis(ConfigureHadronCorrelationAnalysis("Photon",calorimeter,collision,containerName,simulation,debugLevel), n++); // Gamma hadron correlation
70 }
71
72 if(qaan) maker->AddAnalysis(ConfigureQAAnalysis(calorimeter,simulation,debugLevel),n++);
73
74 maker->SetAnaDebug(debugLevel) ;
75 maker->SwitchOnHistogramsMaker() ;
76 maker->SwitchOnAODsMaker() ;
8e083307 77 if(simulation || !suffix.Contains("EMC"))
78 maker->SwitchOffDataControlHistograms();
79 else
80 maker->SwitchOnDataControlHistograms();
81
380fb351 82 if(debugLevel > 0) maker->Print("");
83
84 // Create task
85
86 TString taskName =Form("Pi0IM_GammaTrackCorr_%s",containerName.Data());
87
88 AliAnalysisTaskCaloTrackCorrelation * task = new AliAnalysisTaskCaloTrackCorrelation (taskName);
89 task->SetConfigFileName(""); //Don't configure the analysis via configuration file.
90 task->SetDebugLevel(debugLevel);
91 //task->SetBranches("ESD:AliESDRun.,AliESDHeader");
92 //task->SetBranches("AOD:header,tracks,vertices,emcalCells,caloClusters");
93 task->SetAnalysisMaker(maker);
94 mgr->AddTask(task);
95
96 //Create containers
97
98 TString outputfile = AliAnalysisManager::GetCommonFileName();
99
100 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(taskName, TList::Class(),
101 AliAnalysisManager::kOutputContainer,
102 Form("%s:%s",outputfile.Data(),taskName.Data()));
103
104 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form("Param_%s",taskName.Data()), TList::Class(),
105 AliAnalysisManager::kParamContainer,
106 Form("%s_Parameters.root",taskName.Data()));
107
108 // Create ONLY the output containers for the data produced by the task.
109 // Get and connect other common input/output containers via the manager as below
110 //==============================================================================
111 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
112 mgr->ConnectOutput (task, 1, cout_pc);
113 mgr->ConnectOutput (task, 2, cout_cuts);
114
115 return task;
116}
117
118//___________________________________________________________________________
119AliCaloTrackReader * ConfigureReader(TString inputDataType,
120 Int_t minCen, Int_t maxCen,
121 Bool_t simulation, Int_t debugLevel)
122{
123
124 AliCaloTrackReader * reader = 0;
125 if (inputDataType=="AOD")
126 reader = new AliCaloTrackAODReader();
127 else if(inputDataType=="ESD")
128 reader = new AliCaloTrackESDReader();
129 else
8e083307 130 printf("AliCaloTrackReader::ConfigureReader() - Data combination not known input Data=%s\n",
380fb351 131 inputDataType.Data());
132
133 reader->SetDebug(debugLevel);//10 for lots of messages
134
135 // MC settings
136 if(simulation)
137 {
138 if(inputDataType == "ESD")
139 {
140 reader->SwitchOnStack();
141 reader->SwitchOffAODMCParticles();
142 }
5f0afa3a 143 else if(inputDataType == "AOD")
380fb351 144 {
145 reader->SwitchOffStack();
146 reader->SwitchOnAODMCParticles();
147 }
148 }
149
150 //------------------------
151 // Detector input filling
152 //------------------------
153
154 //Min cluster/track E
155 reader->SetEMCALEMin(0.3);
156 reader->SetEMCALEMax(1000);
157 reader->SetPHOSEMin(0.3);
158 reader->SetPHOSEMax(1000);
159 reader->SetCTSPtMin(0.2);
160 reader->SetCTSPtMax(1000);
161
162 // Time cut off
163 reader->SwitchOffUseTrackTimeCut();
164 reader->SwitchOffUseParametrizedTimeCut();
165 reader->SwitchOffUseEMCALTimeCut() ;
166 reader->SetEMCALTimeCut(-1e10,1e10); // Open time cut
167 reader->SetTrackTimeCut(-1e10,1e10);
168
169 reader->SwitchOnFiducialCut();
170
171 // Tracks
172 reader->SwitchOffCTS();
173 reader->SwitchOffRejectNoTrackEvents();
174 reader->SwitchOffRecalculateVertexBC();
175 reader->SwitchOffVertexBCEventSelection();
176 reader->SwitchOffUseTrackDCACut();
177 //reader->SetTrackDCACut(0,0.0105);
178 //reader->SetTrackDCACut(1,0.035);
179 //reader->SetTrackDCACut(2,1.1);
180
181 if(inputDataType=="ESD")
182 {
183 gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
184// if(year > 2010)
185// {
71b1d621 186 //Hybrids 2011
187 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
188 reader->SetTrackCuts(esdTrackCuts);
189 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
190 reader->SetTrackComplementaryCuts(esdTrackCuts2);
191// }
192// else
193// {
194// //Hybrids 2010
195// AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001006);
380fb351 196// reader->SetTrackCuts(esdTrackCuts);
71b1d621 197// AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10041006);
380fb351 198// reader->SetTrackComplementaryCuts(esdTrackCuts2);
199// }
380fb351 200 }
201 else if(inputDataType=="AOD")
202 {
203 reader->SwitchOnAODHybridTrackSelection(); // Check that the AODs have Hybrids!!!!
204 reader->SetTrackStatus(AliVTrack::kITSrefit);
205 }
206
207 // Calorimeter
208
209 reader->SetEMCALClusterListName("");
210 reader->SwitchOffClusterRecalculation();
211
212 reader->SwitchOnEMCALCells();
213 reader->SwitchOnEMCAL();
214
653aed3c 215 reader->SwitchOnPHOSCells();
216 reader->SwitchOnPHOS();
380fb351 217
218 //-----------------
219 // Event selection
220 //-----------------
221
222 reader->SwitchOnEventTriggerAtSE();
223
224 reader->SetZvertexCut(10.);
225 reader->SwitchOnPrimaryVertexSelection(); // and besides primary vertex
333b77db 226 reader->SwitchOffPileUpEventRejection(); // remove pileup
380fb351 227 reader->SwitchOffV0ANDSelection() ; // and besides v0 AND
228
229 reader->SetCentralityBin(minCen,maxCen); // Accept all events, if not select range
8e083307 230 reader->SetCentralityOpt(100); // 10 (c= 0-10, 10-20 ...), 20 (c= 0-5, 5-10 ...) or 100 (c= 1, 2, 3 ..)
231
380fb351 232 if(debugLevel > 0) reader->Print("");
233
234 return reader;
235
236}
237
238//__________________________________________________________________________
239AliCalorimeterUtils* ConfigureCaloUtils(Bool_t simulation, Int_t debugLevel)
240{
241
242 AliCalorimeterUtils *cu = new AliCalorimeterUtils;
243 cu->SetDebug(debugLevel);
244
245 // Remove clusters close to borders, at least max energy cell is 1 cell away
246 cu->SetNumberOfCellsFromEMCALBorder(1);
247 cu->SetNumberOfCellsFromPHOSBorder(2);
248
249 // Search of local maxima in cluster
250 cu->SetLocalMaximaCutE(0.1);
251 cu->SetLocalMaximaCutEDiff(0.03);
252
253 cu->SwitchOffClusterPlot();
254 cu->SwitchOffRecalculateClusterTrackMatching();
255
256 cu->SwitchOnBadChannelsRemoval() ;
257
258 //EMCAL settings
259
260 if(!simulation)
261 cu->SwitchOnLoadOwnEMCALGeometryMatrices();
262
263 AliEMCALRecoUtils * recou = cu->GetEMCALRecoUtils();
264 cu->SwitchOffRecalibration(); // Check the reader if it is taken into account during filtering
265 cu->SwitchOffRunDepCorrection();
266
267 gROOT->LoadMacro("$ALICE_ROOT/PWGGA/EMCALTasks/macros/ConfigureEMCALRecoUtils.C");
268 ConfigureEMCALRecoUtils(recou,
269 simulation,
270 kTRUE,//kExotic,
271 kTRUE,//kNonLinearity,
272 kFALSE,//kCalibE,
273 kTRUE,//kBadMap,
274 kFALSE);//kCalibT
275 recou->SetExoticCellDiffTimeCut(50.);
276
277 cu->SwitchOnCorrectClusterLinearity();
278
4afd944b 279 if(kCalorimeter=="PHOS")
280 cu->SetNumberOfSuperModulesUsed(3);
281 else
282 cu->SetNumberOfSuperModulesUsed(10);
283
380fb351 284 // PHOS
285 cu->SwitchOffLoadOwnPHOSGeometryMatrices();
286
287 if(debugLevel > 0) cu->Print("");
288
289 return cu;
290
291}
292
293//_______________________________________________________________________________
294AliAnaPhoton* ConfigurePhotonAnalysis(TString calorimeter, TString containerName,
295 Bool_t simulation, Int_t debugLevel)
296{
297
298 AliAnaPhoton *ana = new AliAnaPhoton();
299 ana->SetDebug(debugLevel); //10 for lots of messages
300
301 // cluster selection cuts
302
303 ana->SwitchOffFiducialCut();
304
305 ana->SetCalorimeter(calorimeter);
306
307 if(calorimeter == "PHOS")
308 {
309 ana->SetNCellCut(2);// At least 3 cells
310 ana->SetMinPt(0.3);
311 ana->SetMinDistanceToBadChannel(2, 4, 5);
312 ana->SetTimeCut(-1e10,1e10); // open cut
313 }
314 else
315 {//EMCAL
316 ana->SetNCellCut(1);// At least 2 cells
317 ana->SetMinEnergy(0.3); // avoid mip peak at E = 260 MeV
318 ana->SetMaxEnergy(1000);
319 ana->SetTimeCut(-1e10,1e10); // open cut, usual time window of [425-825] ns if time recalibration is off
320 // restrict to less than 100 ns when time calibration is on
321 ana->SetMinDistanceToBadChannel(2, 4, 6);
322 // Not useful if M02 cut is already strong
323 ana->SetNLMCut(1, 2) ;
324 }
325
326 ana->SwitchOnTrackMatchRejection() ;
327 ana->SwitchOffTMHistoFill() ;
328
329
330 //PID cuts (shower shape)
331 ana->SwitchOnCaloPID(); // do PID selection, unless specified in GetCaloPID, selection not based on bayesian
332 AliCaloPID* caloPID = ana->GetCaloPID();
333 //Not used in bayesian
334
335 //EMCAL
336 caloPID->SetEMCALLambda0CutMax(0.4); // Rather open
337 caloPID->SetEMCALLambda0CutMin(0.10);
338
339 caloPID->SetEMCALDEtaCut(0.025);
340 caloPID->SetEMCALDPhiCut(0.030);
341
342 //PHOS
343 caloPID->SetPHOSDispersionCut(2.5);
344 caloPID->SetPHOSRCut(2.);
345
346 ana->SwitchOnFillShowerShapeHistograms(); // Filled before photon shower shape selection
347 //if(!simulation)ana->SwitchOnFillPileUpHistograms();
348
349 // Input / output delta AOD settings
350 ana->SetOutputAODName(Form("Photon%s",containerName.Data()));
351 ana->SetOutputAODClassName("AliAODPWG4ParticleCorrelation");
352 ana->SetInputAODName (Form("Photon%s",containerName.Data()));
353
354 //Set Histograms name tag, bins and ranges
355
356 ana->AddToHistogramsName("AnaPhoton_");
357 SetHistoRangeAndNBins(ana->GetHistogramRanges(),calorimeter); // see method below
358
359 // Number of particle type MC histograms
360 ana->FillNOriginHistograms(7);
361 ana->FillNPrimaryHistograms(4);
362
363 if(simulation) ana->SwitchOnDataMC();
364
365 if(debugLevel > 0 ) ana->Print("");
366
367 return ana;
368
369}
370
371//_________________________________________________________________________
372AliAnaPi0* ConfigurePi0Analysis(TString calorimeter, TString collision,
373 TString containerName, Bool_t simulation,
374 Bool_t qaan, Int_t debugLevel)
375{
376
377 AliAnaPi0 *ana = new AliAnaPi0();
378
379 ana->SetDebug(debugLevel);//10 for lots of messages
380
381 // Input delta AOD settings
382 ana->SetInputAODName(Form("Photon%s",containerName.Data()));
383
384 // Calorimeter settings
385 ana->SetCalorimeter(calorimeter);
380fb351 386
387 //settings for pp collision mixing
388 ana->SwitchOnOwnMix(); //Off when mixing done with general mixing frame
389
390 // Cuts
391 if(calorimeter=="EMCAL") ana->SetPairTimeCut(70);
392
393 if (collision == "pp" )
394 {
395 ana->SetNCentrBin(1);
396 ana->SetNZvertBin(10);
397 ana->SetNRPBin(1);
398 ana->SetNMaxEvMix(100);
399 }
400 else if(collision =="PbPb")
401 {
402 ana->SetNCentrBin(10);
403 ana->SetNZvertBin(10);
404 ana->SetNRPBin(4);
405 ana->SetNMaxEvMix(10);
406 }
407 else if(collision =="pPb")
408 {
409 ana->SetNCentrBin(1);
410 ana->SetNZvertBin(10);
411 ana->SetNRPBin(4);
412 ana->SetNMaxEvMix(100);
413 }
414
415 ana->SwitchOffMultipleCutAnalysis();
653aed3c 416 ana->SwitchOnSMCombinations();
380fb351 417 ana->SwitchOffFillAngleHisto();
418 ana->SwitchOffFillOriginHisto();
419
420 //Set Histograms name tag, bins and ranges
421
422 ana->AddToHistogramsName("AnaPi0_");
423 SetHistoRangeAndNBins(ana->GetHistogramRanges(),calorimeter); // see method below
424
425 if(simulation) ana->SwitchOnDataMC();
426
427 if(debugLevel > 0) ana->Print("");
428
429 return ana;
430
431}
432
433//___________________________________________________________________________________
434AliAnaChargedParticles* ConfigureChargedAnalysis(TString containerName,
435 Bool_t simulation, Int_t debugLevel)
436{
437
438 AliAnaChargedParticles *ana = new AliAnaChargedParticles();
439 ana->SetDebug(debugLevel); //10 for lots of messages
440
441 // selection cuts
442
443 ana->SetMinPt(0.5);
444 ana->SwitchOnFiducialCut();
445 ana->GetFiducialCut()->SetSimpleCTSFiducialCut(0.8, 0, 360) ; //more restrictive cut in reader and after in isolation
446
447 ana->SwitchOffFillVertexBC0Histograms() ;
448 //if(!simulation) ana->SwitchOnFillPileUpHistograms();
449
450 // Input / output delta AOD settings
451
452 ana->SetOutputAODName(Form("Hadron%s",containerName.Data()));
453 ana->SetOutputAODClassName("AliAODPWG4ParticleCorrelation");
454 ana->SetInputAODName(Form("Hadron%s",containerName.Data()));
455
456 //Set Histograms name tag, bins and ranges
457
458 ana->AddToHistogramsName("AnaHadrons_");
459 SetHistoRangeAndNBins(ana->GetHistogramRanges(),""); // see method below
460
461 ana->GetHistogramRanges()->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 200) ;
462 ana->GetHistogramRanges()->SetHistoEtaRangeAndNBins(-1.5, 1.5, 300) ;
463
464 if(debugLevel > 0) ana->Print("");
465
466 return ana;
467
468}
469
470//__________________________________________________________________________________________________________
471AliAnaParticleHadronCorrelation* ConfigureHadronCorrelationAnalysis(TString particle, TString calorimeter,
472 TString collision, TString containerName,
473 Bool_t simulation, Int_t debugLevel)
474{
475
476 AliAnaParticleHadronCorrelation *ana = new AliAnaParticleHadronCorrelation();
477 ana->SetDebug(debugLevel);
478
479 ana->SetMinimumTriggerPt(5);
480 ana->SetAssociatedPtRange(0.2,100);
481 ana->SetDeltaPhiCutRange( TMath::Pi()/2,3*TMath::Pi()/2 ); //[90 deg, 270 deg]
482
483 ana->SetNAssocPtBins(4);
484
485 ana->SetAssocPtBinLimit(0, 0.5) ;
486 ana->SetAssocPtBinLimit(1, 2) ;
487 ana->SetAssocPtBinLimit(2, 5) ;
488 ana->SetAssocPtBinLimit(3, 10) ;
489 ana->SetAssocPtBinLimit(4, 20) ;
490
491 ana->SelectIsolated(kFALSE); // do correlation with isolated photons
492
493 //if(!simulation) ana->SwitchOnFillPileUpHistograms();
494
495 ana->SwitchOnAbsoluteLeading(); // Select trigger leading particle of all the selected tracks
496 ana->SwitchOffNearSideLeading(); // Select trigger leading particle of all the particles at +-90 degrees, default
497
498 // Mixing with own pool
499 ana->SwitchOffOwnMix();
500
501 ana->SetNZvertBin(20);
502
503 if(collision=="pp")
504 {
505 ana->SetNMaxEvMix(100);
506 ana->SwitchOnTrackMultBins();
507 ana->SetNCentrBin(9); // Fixed track mult values
508 ana->SetNRPBin(1);
509 }
510 else
511 {
512 ana->SetNMaxEvMix(10);
513 ana->SwitchOffTrackMultBins(); // centrality bins
514 ana->SetNCentrBin(10);
515 ana->SetNRPBin(3);
516 }
517
518 // Input / output delta AOD settings
519
520 ana->SetInputAODName(Form("%s%s",particle.Data(),containerName.Data()));
521 ana->SetAODObjArrayName(Form("%sHadronCorr_%s",particle.Data(),containerName.Data()));
522
523 ana->SwitchOffPi0TriggerDecayCorr();
524 ana->SwitchOffDecayTriggerDecayCorr();
525 ana->SwitchOffNeutralCorr(); // Do only correlation with TPC
526 ana->SwitchOffHMPIDCorrelation();
527 ana->SwitchOffFillBradHistograms();
528
529 // Underlying event
530 ana->SwitchOffEventSelection();
531 ana->SwitchOffSeveralUECalculation();
532 ana->SetUeDeltaPhiCutRange(TMath::Pi()/3, 2*TMath::Pi()/3);
533 ana->SetMultiBin(1);
534
535 //Set Histograms name tag, bins and ranges
536
537 ana->AddToHistogramsName(Form("Ana%sHadronCorr_",particle.Data()));
538 SetHistoRangeAndNBins(ana->GetHistogramRanges(),calorimeter); // see method below
539
540 if(simulation) ana->SwitchOnDataMC();
541
542 if(debugLevel > 0) ana->Print("");
543
544 return ana;
545
546}
547
548//________________________________________________________________________________
549AliAnaCalorimeterQA* ConfigureQAAnalysis(TString calorimeter, Bool_t simulation,
550 Int_t debugLevel)
551{
552
553 AliAnaCalorimeterQA *ana = new AliAnaCalorimeterQA();
554 ana->SetDebug(debugLevel); //10 for lots of messages
555 ana->SetCalorimeter(calorimeter);
556
557 ana->SetTimeCut(-1e10,1e10); // Open time cut
653aed3c 558 ana->SwitchOnCorrelation();
380fb351 559 ana->SwitchOffStudyBadClusters() ;
560 ana->SwitchOffFiducialCut();
561 ana->SwitchOffFillAllTH3Histogram();
562 ana->SwitchOffFillAllPositionHistogram();
563 ana->SwitchOffFillAllPositionHistogram2();
564 ana->SwitchOffStudyBadClusters();
565 ana->SwitchOffStudyClustersAsymmetry();
566 ana->SwitchOffStudyWeight();
653aed3c 567 ana->SwitchOnFillAllTrackMatchingHistogram();
568 ana->SwitchOnFillAllCellTimeHisto() ;
380fb351 569
380fb351 570 ana->AddToHistogramsName("QA_"); //Begining of histograms name
571 SetHistoRangeAndNBins(ana->GetHistogramRanges(),calorimeter); // see method below
572
573 if(simulation) ana->SwitchOnDataMC();
574
575 if(debugLevel > 0) ana->Print("");
576
577 return ana;
578
579}
580
581
582//________________________________________________________
583void SetHistoRangeAndNBins (AliHistogramRanges* histoRanges,
584 TString calorimeter)
585{
586 // Set common bins for all analysis and MC histograms filling
587
588 histoRanges->SetHistoPtRangeAndNBins(0, 100, 200) ; // Energy and pt histograms
589
590 if(calorimeter=="EMCAL")
591 {
592// if(year==2010)
593// {
594// histoRanges->SetHistoPhiRangeAndNBins(78*TMath::DegToRad(), 122*TMath::DegToRad(), 78) ;
595// histoRanges->SetHistoXRangeAndNBins(-230,90,120); // QA
596// histoRanges->SetHistoYRangeAndNBins(370,450,40); // QA
597// }
598// else if(year==2011)
599// {
600// histoRanges->SetHistoPhiRangeAndNBins(78*TMath::DegToRad(), 182*TMath::DegToRad(), 108) ;
601// histoRanges->SetHistoXRangeAndNBins(-600,90,200); // QA
602// histoRanges->SetHistoYRangeAndNBins(100,450,100); // QA
603// }
604// else
605 {
606 histoRanges->SetHistoPhiRangeAndNBins(78*TMath::DegToRad(), 190*TMath::DegToRad(), 122) ;
607 histoRanges->SetHistoXRangeAndNBins(-100,90,200); // QA
608 histoRanges->SetHistoYRangeAndNBins(50,450,100); // QA
609 }
610
611 histoRanges->SetHistoEtaRangeAndNBins(-0.72, 0.72, 144) ;
612 }
613 else
614 {
615 histoRanges->SetHistoPhiRangeAndNBins(260*TMath::DegToRad(), 320*TMath::DegToRad(), 60) ;
616 histoRanges->SetHistoEtaRangeAndNBins(-0.13, 0.13, 130) ;
617 }
618
619 histoRanges->SetHistoShowerShapeRangeAndNBins(-0.1, 4.9, 500);
620
621 // Invariant mass histoRangeslysis
622 histoRanges->SetHistoMassRangeAndNBins(0., 1., 200) ;
623 histoRanges->SetHistoAsymmetryRangeAndNBins(0., 1. , 100) ;
624
625 // check if time calibration is on
626 histoRanges->SetHistoTimeRangeAndNBins(-1000.,1000,2000);
627 //histoRanges->SetHistoTimeRangeAndNBins(-400.,400,400);
628 histoRanges->SetHistoDiffTimeRangeAndNBins(-200, 200, 800);
629
630 // track-cluster residuals
631 histoRanges->SetHistoTrackResidualEtaRangeAndNBins(-0.15,0.15,300);
632 histoRanges->SetHistoTrackResidualPhiRangeAndNBins(-0.15,0.15,300);
633 histoRanges->SetHistodRRangeAndNBins(0.,0.15,150);//QA
634
635 // QA, electron, charged
636 histoRanges->SetHistoPOverERangeAndNBins(0, 2.5 ,500);
637 histoRanges->SetHistodEdxRangeAndNBins (0.,250.0,500);
638
639 // QA
640 histoRanges->SetHistoFinePtRangeAndNBins(0, 10, 200) ; // bining for fhAmpId
641 histoRanges->SetHistoRatioRangeAndNBins(0.,2.,100);
642 histoRanges->SetHistoVertexDistRangeAndNBins(0.,500.,500);
643 histoRanges->SetHistoNClusterCellRangeAndNBins(0,50,50);
653aed3c 644 histoRanges->SetHistoNClustersRangeAndNBins(0,100,100);
380fb351 645 histoRanges->SetHistoZRangeAndNBins(-400,400,200);
646 histoRanges->SetHistoRRangeAndNBins(400,450,25);
647 histoRanges->SetHistoV0SignalRangeAndNBins(0,5000,500);
648 histoRanges->SetHistoV0MultiplicityRangeAndNBins(0,5000,500);
649 histoRanges->SetHistoTrackMultiplicityRangeAndNBins(0,5000,500);
650
651}
652