AliPhysics  5eaf189 (5eaf189)
AddTaskCaloTrackCorrBase.C
Go to the documentation of this file.
1 
12 // Set includes for compilation
13 
14 #if !defined(__CINT__) || defined(__MAKECINT__)
15 
16 #include <TString.h>
17 #include <TSystem.h>
18 #include <TROOT.h>
19 
20 #include "AliCaloTrackESDReader.h"
21 #include "AliCaloTrackAODReader.h"
22 #include "AliCalorimeterUtils.h"
25 #include "AliAnalysisManager.h"
26 #include "AliInputEventHandler.h"
27 #include "AliVTrack.h"
29 #include "AliESDtrackCuts.h"
30 #include "CreateTrackCutsPWGJE.C"
32 #endif
33 
53  TString clustersArray, TString calorimeter,
54  TString cutsString,
55  Bool_t nonLinOn, Bool_t calibrate,
56  Int_t year,
57  TString trigger, Bool_t rejectEMCTrig,
58  Int_t minCen, Int_t maxCen,
59  Bool_t printSettings, Int_t debug )
60 {
61  // Get the data type ESD or AOD
62  AliAnalysisManager * mgr = AliAnalysisManager::GetAnalysisManager();
63  TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
64 
65  AliCaloTrackReader * reader = 0;
66  if (inputDataType == "AOD") reader = new AliCaloTrackAODReader();
67  else if(inputDataType == "ESD") reader = new AliCaloTrackESDReader();
68  else printf("AddTaskCaloTrackCorrBase::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
69 
70  reader->SetDebug(debug);//10 for lots of messages
71 
72  // In case of Pythia pt Hard bin simulations (jet-jet, gamma-jet)
73  // reject some special events that bother the cross section
74  if(simulation)
75  {
76  // Event rejection cuts for jet-jet simulations, do not use in other
77  reader->SetPtHardAndJetPtComparison(kTRUE);
78  reader->SetPtHardAndJetPtFactor(2);
79 
80  // Event rejection more suitable for gamma-jet simulations, do not use in other
81  // reader->SetPtHardAndClusterPtComparison(kTRUE);
82  // reader->SetPtHardAndClusterPtFactor(1.5);
83  }
84 
85  //---------------------------
86  // Detectors acceptance, open
87  //---------------------------
88 
89  reader->SwitchOnFiducialCut();
90 
91  // Tracks
92  reader->GetFiducialCut()->SetSimpleCTSFiducialCut(0.8, 0, 360) ;
93 
94  // EMCal/DCal
95  if ( calorimeter == "EMCAL" ) reader->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.70, 80, 187) ;
96  else if ( calorimeter == "DCAL" ) reader->GetFiducialCut()->SetSimpleEMCALFiducialCut(0.70, 260, 327) ;
97 
98  //PHOS
99  reader->GetFiducialCut()->SetSimplePHOSFiducialCut (0.12, 250, 320) ;
100 
101  //------------------------
102  // Detector input filling
103  //------------------------
104 
105  //Min cluster/track E
106  reader->SetEMCALEMin(0.3);
107  reader->SetEMCALEMax(1000);
108  reader->SetPHOSEMin(0.3);
109  reader->SetPHOSEMax(1000);
110  reader->SetCTSPtMin(0.2);
111  reader->SetCTSPtMax(1000);
112 
115 
116  // EMCal shower shape smearing
117  // Set it in the train configuration page not here for the moment
118  if ( simulation && cutsString.Contains("Smearing"))
119  {
120  reader->SwitchOnShowerShapeSmearing(); // Active only on MC, off by default
121 
123  reader->SetShowerShapeSmearWidth(0.005);
124 
125  //reader->SetSmearingFunction(AliCaloTrackReader::kSmearingLandauShift);
126  //reader->SetShowerShapeSmearWidth(0.035);
127  }
128 
129  //
130  // Tracks
131  //
132  reader->SwitchOnCTS();
133 
134  reader->SwitchOffUseTrackTimeCut();
135  reader->SetTrackTimeCut(0,50);
136 
137  reader->SwitchOffUseTrackDCACut();
138  //reader->SetTrackDCACut(0,0.0105);
139  //reader->SetTrackDCACut(1,0.035);
140  //reader->SetTrackDCACut(2,1.1);
141 
142  if(inputDataType=="ESD")
143  {
144  gROOT->LoadMacro("$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
145 
146  //AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10041004);
147  //reader->SetTrackCuts(esdTrackCuts);
148 
149  AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
150  reader->SetTrackCuts(esdTrackCuts);
151  AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
152  reader->SetTrackComplementaryCuts(esdTrackCuts2);
153 
155  }
156  else if(inputDataType=="AOD")
157  {
158  reader->SwitchOnAODHybridTrackSelection(); // Check that the AODs have Hybrids!!!!
160  reader->SetTrackStatus(AliVTrack::kITSrefit);
161 
162  //reader->SwitchOnAODPrimaryTrackSelection(); // Used in preliminary results of QM from Nicolas and Xiangrong?
163  //reader->SwitchOnTrackHitSPDSelection(); // Check that the track has at least a hit on the SPD, not much sense to use for hybrid or TPC only tracks
164  //reader->SetTrackFilterMask(128); // Filter bit, not mask, use if off hybrid, TPC only
165  }
166 
167  //
168  // Calorimeter
169  //
170  reader->SetEMCALClusterListName(clustersArray);
171 
172  // In case no external calibrated cluster/cell list or EMCal correction framework applied before
173  if ( calibrate ) reader->SwitchOnClusterRecalculation();
174  else reader->SwitchOffClusterRecalculation();
175 
176  // Time cuts
178  reader->SwitchOffUseEMCALTimeCut();
179  reader->SetEMCALTimeCut(-1e10,1e10); // Open time cut
180 
181  // For data, check what is the range needed depending on the sample
182  if( !simulation)
183  {
184  reader->SwitchOnUseEMCALTimeCut();
185  reader->SetEMCALTimeCut(-25,20);
186  if(year > 2015) reader->SetEMCALTimeCut(-20,15);
187  }
188 
189  // CAREFUL
190  if(nonLinOn) reader->SwitchOnClusterELinearityCorrection();
192 
193  if(calorimeter == "EMCAL" || calorimeter == "DCAL" )
194  {
195  reader->SwitchOnEMCALCells();
196  reader->SwitchOnEMCAL();
197  }
198 
199  if(calorimeter == "PHOS")
200  { // Should be on if QA is activated with correlation on
201  reader->SwitchOnPHOSCells();
202  reader->SwitchOnPHOS();
203  }
204 
205  //-----------------
206  // Event selection
207  //-----------------
208 
209  //if(!simulation) reader->SetFiredTriggerClassName("CEMC7EGA-B-NOPF-CENTNOTRD"); // L1 Gamma
210 
211  // Event triggered by EMCal selection settings
214 
215  if( rejectEMCTrig > 0 && !simulation && (trigger.Contains("EMC") || trigger.Contains("L")))
216  {
217  printf("AddTaskCaloTrackCorrBase::ConfigureReader() === Remove bad triggers === \n");
220 
221  // reader->SetTriggerPatchTimeWindow(8,9); // default values
222  // if (kRunNumber < 146861) reader->SetEventTriggerL0Threshold(3.);
223  // else if(kRunNumber < 154000) reader->SetEventTriggerL0Threshold(4.);
224  // else if(kRunNumber < 165000) reader->SetEventTriggerL0Threshold(5.5);
225  // //redefine for other periods, triggers
226  //
227  // if(kRunNumber < 172000)
228  // {
229  // reader->SetEventTriggerL1Bit(4,5); // current LHC11 data
230  // printf("\t Old L1 Trigger data format!\n");
231  // }
232  // else
233  // {
234  // reader->SetEventTriggerL1Bit(6,8); // LHC12-13 data
235  // printf("\t Current L1 Trigger data format!\n");
236  // }
237 
238  //reader->SwitchOffTriggerClusterTimeRecal() ;
239  }
240 
241  //reader->RejectFastClusterEvents() ;
242 
243  reader->SetZvertexCut(10.); // Open cut
244  reader->SwitchOnPrimaryVertexSelection(); // and besides primary vertex
245  reader->SwitchOnRejectNoTrackEvents();
246 
247  reader->SwitchOffV0ANDSelection() ; // and besides v0 AND
248 
249  // Pile-up
250  if(cutsString.Contains("SPDPileUp"))
251  {
252  printf("AddTaskCaloTrackCorrBase::ConfigureReader() - Switch on Pile-up event rejection by SPD\n");
253  reader->SwitchOnPileUpEventRejection(); // remove pileup by default off, apply it only for MB not for trigger
254  if(year > 2013) reader->SetPileUpParamForSPD(0,5);
255  }
256 
257  if(col=="PbPb")
258  {
259  // Centrality
260  reader->SetCentralityClass("V0M");
261  reader->SetCentralityOpt(100); // 10 (c= 0-10, 10-20 ...), 20 (c= 0-5, 5-10 ...) or 100 (c= 1, 2, 3 ..)
262  reader->SetCentralityBin(minCen,maxCen); // Accept all events, if not select range
263 
264  //reader->SwitchOnAcceptOnlyHIJINGLabels();
265 
266  // Event plane (only used in Maker and mixing for AliAnaPi0/AliAnaHadronCorrelation for the moment)
267  reader->SetEventPlaneMethod("V0");
268  }
269 
270  if(printSettings) reader->Print("");
271 
272  return reader;
273 }
274 
288  TString calorimeter, Bool_t nonLinOn,
289  Bool_t calibrate, Int_t year,
290  Bool_t printSettings, Int_t debug)
291 {
293 
294  cu->SetDebug(debug);
295 
296  // Remove clusters close to borders, at least max energy cell is 1 cell away
299 
301 
302  if ( calorimeter == "PHOS" )
303  {
304  if(year < 2014) cu->SetNumberOfSuperModulesUsed(3);
305  else cu->SetNumberOfSuperModulesUsed(4);
306  }
307  else
308  {
309  Int_t nSM = 20;
310  Int_t lastEMC = 11;
311  if (year == 2010) { nSM = 4; lastEMC = 3; }// EMCAL first year
312  else if (year < 2014) { nSM = 10; lastEMC = 9; }// EMCAL active 2011-2013
313 
315 
316  if (calorimeter.Contains("EMCAL"))
317  {
318  cu->SetFirstSuperModuleUsed( 0);
319  cu->SetLastSuperModuleUsed (lastEMC);
320  }
321  else if (calorimeter.Contains("DCAL"))
322  {
323  cu->SetFirstSuperModuleUsed(12);
324  cu->SetLastSuperModuleUsed (19);
325  }
326  else
327  {
330  }
331 
332  printf("AddTaskCaloTrackCorrBase::CalorimeterUtils() - nSM %d, first %d, last %d\n",
334  }
335 
336  // Search of local maxima in cluster
337  if(col=="pp")
338  {
339  cu->SetLocalMaximaCutE(0.1);
340  cu->SetLocalMaximaCutEDiff(0.03);
341  }
342  else
343  {
344  cu->SetLocalMaximaCutE(0.2);
345  cu->SetLocalMaximaCutEDiff(0.03);
346  }
347 
349 
351 
352  // EMCAL settings
353 
354  if(!simulation)
356 
357  AliEMCALRecoUtils * recou = cu->GetEMCALRecoUtils();
358 
359  // Calibrations, do nothing by default
360  Bool_t calibEner = kFALSE;
361  Bool_t calibTime = kFALSE;
364 
365  if( calibrate )
366  {
367  cu->SwitchOnRecalibration();
369 
370  calibEner = kTRUE;
371  calibTime = kTRUE;
372  }
373 
374  cu->ConfigureEMCALRecoUtils(simulation,
375  kTRUE, // exotic
376  nonLinOn, // Non linearity
377  calibEner, // E calib
378  kTRUE, // bad map
379  calibTime); // time calib
380 
381  //if( calibTime ) recou->SetExoticCellDiffTimeCut(50);
382 
383  //if( nonLinOn ) cu->SwitchOnCorrectClusterLinearity(); // Done in Configure method
384 
385  if ( printSettings )
386  {
387  printf("AddTaskCaloTrackCorrBase::ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",
388  recou->IsRecalibrationOn(), cu->IsRecalibrationOn());
389  printf("AddTaskCaloTrackCorrBase::ConfigureCaloUtils() - EMCAL BadMap ON? %d %d\n",
391  }
392 
393  // PHOS
395 
396  if(printSettings) cu->Print("");
397 
398  return cu;
399 }
400 
401 
425 (
426  TString calorimeter = "EMCAL", // "DCAL", "PHOS"
427  Bool_t simulation = kFALSE,
428  Int_t year = 2011,
429  TString col = "pp",
430  Int_t rejectEMCTrig = 0,
431  TString clustersArray = "",
432  TString cutsString = "", // "Smearing","SPDPileUp"
433  Bool_t calibrate = kFALSE,
434  Bool_t nonLinOn = kFALSE,
435  Int_t minCen = -1,
436  Int_t maxCen = -1,
437  Bool_t mixOn = kTRUE,
438  TString outputfile = "",
439  Bool_t printSettings = kFALSE,
440  Int_t debug = 0,
441  const char *trigSuffix = "EMC7"
442 )
443 {
444  // Check the global variables, and reset the provided ones if empty.
445  //
446  TString trigger = trigSuffix;
447 
448  gROOT->LoadMacro("$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/GetAlienGlobalProductionVariables.C");
449 
450  TString period = "LHC17";
451  Bool_t printGlobal = kTRUE;
452 
453  GetAlienGlobalProductionVariables(simulation,col,period,year,printGlobal);
454 
455  printf("AddTaskCaloTrackCorrBase::Main() << settings:"
456  "\n calorimeter <%s>, simulation <%d>, year <%d>, col <%s>, "
457  "\n trigger <%s>, reject EMC <%d>, clustersArray <%s>, cuts <%s>"
458  "\n calibrate <%d>, non linearity <%d>, minCen <%d>, maxCen <%d>, "
459  "\n mixOn <%d>, outputfile <%s>, printSettings <%d>, debug <%d> >>\n",
460  calorimeter.Data(), simulation, year, col.Data(),
461  trigger.Data(), rejectEMCTrig, clustersArray.Data(), cutsString.Data(),
462  calibrate, nonLinOn, minCen, maxCen,
463  mixOn, outputfile.Data(), printSettings, debug);
464 
465  // Get the pointer to the existing analysis manager via the static access method.
466  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
467  if (!mgr)
468  {
469  ::Error("AddTask", "No analysis manager to connect to.");
470  return NULL;
471  }
472 
473  // Check the analysis type using the event handlers connected to the analysis manager.
474 
475  if (!mgr->GetInputEventHandler())
476  {
477  ::Error("AddTask", "This task requires an input event handler");
478  return NULL;
479  }
480 
481  // Make sure the B field is enabled for track selection, some cuts need it
482  ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
483 
484  // Name for containers
485 
486  TString anaCaloTrackCorrBase = Form("CTC_%s_Trig_%s",calorimeter.Data(),trigger.Data());
487 
488  if ( col=="PbPb" &&
489  maxCen>=0 ) anaCaloTrackCorrBase+=Form("_Cen%d_%d",minCen,maxCen);
490  if ( clustersArray!="" ) anaCaloTrackCorrBase+=Form("_Cl%s",clustersArray.Data());
491  if ( mixOn ) anaCaloTrackCorrBase+="_MixOn";
492  if ( cutsString!="" ) anaCaloTrackCorrBase+="_"+cutsString;
493 
494  printf("AddTaskCaloTrackCorrBase::Main() <<<< Folder name: %s >>>>>\n",
495  anaCaloTrackCorrBase.Data());
496 
497  // #### Configure analysis ####
498 
500 
501  //
502  // General frame setting and configuration
503  //
504  maker->SetReader ( ConfigureReader (col,simulation,clustersArray,calorimeter,cutsString,
505  nonLinOn,calibrate,year,trigger,rejectEMCTrig,
506  minCen,maxCen,printSettings,debug) );
507 
508  maker->SetCaloUtils( ConfigureCaloUtils(col,simulation,calorimeter,nonLinOn,calibrate,year,
509  printSettings,debug) );
510 
511  maker->SetAnaDebug(debug) ;
512 
513  maker->SwitchOnHistogramsMaker() ;
514  maker->SwitchOnAODsMaker() ;
515 
516  if( simulation || !trigger.Contains("EMC") ) maker->SwitchOffDataControlHistograms();
517 
518  if(simulation)
519  {
520  // Calculate the cross section weights, apply them to all histograms
521  // and fill xsec and trial histo. Sumw2 must be activated.
522  //maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionCalculation();
523  //maker->SwitchOnSumw2Histograms();
524 
525  // For recent productions where the cross sections and trials are not stored in separate file
526  //maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionFromEventHeader() ;
527 
528  // Just fill cross section and trials histograms.
529  maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionHistoFill();
530 
531  // Add control histogram with pT hard to control aplication of weights
532  maker->SwitchOnPtHardHistogram();
533  }
534 
535  if(printSettings) maker->Print("");
536 
537  // Set the list name for later recovery in macros
538  maker->GetListOfAnalysisContainers()->SetName(anaCaloTrackCorrBase);
539 
540  printf("AddTaskCaloTrackCorrBase::Main() << End Base Task Configuration for %s >>\n",anaCaloTrackCorrBase.Data());
541 
542  //
543  // Create task, pass the maker and add it to the manager
544  //
545  AliAnalysisTaskCaloTrackCorrelation * task = new AliAnalysisTaskCaloTrackCorrelation (Form("%s",anaCaloTrackCorrBase.Data()));
546 
547  task->SetDebugLevel(debug);
548 
549  //task->SetBranches("ESD:AliESDRun.,AliESDHeader");
550  //task->SetConfigFileName(""); //Don't configure the analysis via configuration file.
551 
552  task->SetAnalysisMaker(maker);
553 
554  mgr->AddTask(task);
555 
556  //
557  // Select events trigger depending on trigger
558  //
559  maker->GetReader()->SwitchOnEventTriggerAtSE(); // on is default case
560  if(!simulation)
561  {
562  gROOT->LoadMacro("$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/ConfigureAndGetEventTriggerMaskAndCaloTriggerString.C");
563  TString caloTriggerString = "";
564  UInt_t mask = ConfigureAndGetEventTriggerMaskAndCaloTriggerString(trigger, year, caloTriggerString);
565 
566  maker->GetReader()->SetFiredTriggerClassName(caloTriggerString);
567 
568  // For mixing with AliAnaParticleHadronCorrelation switch it off
569  if(mixOn)
570  {
571  maker->GetReader()->SwitchOffEventTriggerAtSE();
572  maker->GetReader()->SetEventTriggerMask(mask);
573  // what to do with caloTriggerString?
574 
575  // Careful, not all productions work with kMB, try kINT7, kINT1, kAnyINT
576  //reader->SetMixEventTriggerMask(AliVEvent::kMB);
577  maker->GetReader()->SetMixEventTriggerMask(AliVEvent::kINT7);
578 
579  printf("AddTaskCaloTrackCorrBase::Main() << Trigger selection done in AliCaloTrackReader!!! >>> \n");
580  }
581  else
582  {
583  task ->SelectCollisionCandidates( mask );
584  }
585  }
586 
587  //
588  // Create containers
589  //
590  if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
591 
592  AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(anaCaloTrackCorrBase, TList::Class(),
593  AliAnalysisManager::kOutputContainer,
594  Form("%s",outputfile.Data()));
595 
596  AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form("Param_%s",anaCaloTrackCorrBase.Data()), TList::Class(),
597  AliAnalysisManager::kParamContainer,
598  "AnalysisParameters.root");
599 
600  // Create ONLY the output containers for the data produced by the task.
601  // Get and connect other common input/output containers via the manager as below
602  //==============================================================================
603  mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
604  //if(!kData.Contains("delta") && outputAOD) mgr->ConnectOutput (task, 0, mgr->GetCommonOutputContainer());
605  mgr->ConnectOutput (task, 1, cout_pc);
606  mgr->ConnectOutput (task, 2, cout_cuts);
607 
608  return task;
609 }
610 
611 
virtual void SwitchOnAODTrackSharedClusterSelection()
virtual void SetDebug(Int_t d)
void SetNumberOfCellsFromPHOSBorder(Int_t n)
void SetShowerShapeSmearWidth(Float_t w)
void SetSimpleCTSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SetFirstSuperModuleUsed(Int_t first)
virtual void SwitchOnFiducialCut()
const int debug
Definition: scanAll.C:15
void SwitchOnLoadOwnEMCALGeometryMatrices()
virtual void SwitchOnAODHybridTrackSelection()
virtual void SetCentralityBin(Int_t min, Int_t max)
Int_t GetLastSuperModuleUsed() const
AliEMCALRecoUtils * GetEMCALRecoUtils() const
void SetLastSuperModuleUsed(Int_t last)
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
void SetSmearingFunction(Int_t smfu)
virtual void SetTrackComplementaryCuts(AliESDtrackCuts *)
AliCaloTrackReader * ConfigureReader(TString col, Bool_t simulation, TString clustersArray, TString calorimeter, TString cutsString, Bool_t nonLinOn, Bool_t calibrate, Int_t year, TString trigger, Bool_t rejectEMCTrig, Int_t minCen, Int_t maxCen, Bool_t printSettings, Int_t debug)
void SetEMCALEMin(Float_t en)
void SetSimpleEMCALFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SetLocalMaximaCutEDiff(Float_t c)
void SetNumberOfCellsFromEMCALBorder(Int_t n)
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SetSimplePHOSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
const TString calorimeter
Definition: anaM.C:36
virtual void SetPtHardAndJetPtComparison(Bool_t compare)
Bool_t IsRecalibrationOn() const
Bool_t IsRecalibrationOn() const
Some utilities for cluster and cell treatment.
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Class for event, clusters and tracks filtering and preparation for the AOD analysis.
void SetCTSPtMin(Float_t pt)
void SwitchOffRecalculateClusterTrackMatching()
void SwitchOffVertexBCEventSelection()
virtual void SetDebug(Int_t d)
virtual AliFiducialCut * GetFiducialCut()
virtual void SetCentralityOpt(Int_t opt)
int Int_t
Definition: External.C:63
unsigned int UInt_t
Definition: External.C:33
void SetTrackStatus(ULong_t bit)
Bool_t IsBadChannelsRemovalSwitchedOn() const
AliCalorimeterUtils * ConfigureCaloUtils(TString col, Bool_t simulation, TString calorimeter, Bool_t nonLinOn, Bool_t calibrate, Int_t year, Bool_t printSettings, Int_t debug)
AliAnalysisTaskCaloTrackCorrelation * AddTaskCaloTrackCorrBase(TString calorimeter="EMCAL", Bool_t simulation=kFALSE, Int_t year=2011, TString col="pp", Int_t rejectEMCTrig=0, TString clustersArray="", TString cutsString="", Bool_t calibrate=kFALSE, Bool_t nonLinOn=kFALSE, Int_t minCen=-1, Int_t maxCen=-1, Bool_t mixOn=kTRUE, TString outputfile="", Bool_t printSettings=kFALSE, Int_t debug=0, const char *trigSuffix="EMC7")
void GetAlienGlobalProductionVariables(Bool_t &simulation, TString &col, TString &period, Int_t &year, Bool_t print=kFALSE)
Base class for event, clusters and tracks filtering and preparation for the analysis.
void SwitchOffBadTriggerEventsRemoval()
void SetEMCALClusterListName(TString &name)
Int_t GetNumberOfSuperModulesUsed() const
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
virtual void SetZvertexCut(Float_t zcut=10.)
void SetNumberOfSuperModulesUsed(Int_t nSM)
UInt_t ConfigureAndGetEventTriggerMaskAndCaloTriggerString(TString trigger, Int_t year, TString &triggerString)
virtual void SetPtHardAndJetPtFactor(Float_t factor)
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
virtual void SetEventPlaneMethod(TString m)
void SetPHOSEMin(Float_t en)
virtual void SetTrackCuts(AliESDtrackCuts *)
void SetPileUpParamForSPD(Int_t i, Double_t param)
virtual void SetCentralityClass(TString name)
void SwitchOnBadTriggerEventsRemoval()
void SwitchOnClusterELinearityCorrection()
void SetTrackTimeCut(Double_t a, Double_t b)
void SetEMCALTimeCut(Double_t a, Double_t b)
Configuration of the event trigger.
Main class conecting the CaloTrackCorrelations package and Analysis Frame.
void SwitchOffLoadOwnPHOSGeometryMatrices()
void SetEMCALEMax(Float_t en)
void ConfigureEMCALRecoUtils(Bool_t bMC=kFALSE, Bool_t bExotic=kTRUE, Bool_t bNonLin=kFALSE, Bool_t bRecalE=kTRUE, Bool_t bBad=kTRUE, Bool_t bRecalT=kTRUE, Int_t debug=-1)
bool Bool_t
Definition: External.C:53
void SetPHOSEMax(Float_t en)
Class with utils specific to calorimeter clusters/cells.
virtual void SwitchOnConstrainTrackToVertex()
Int_t GetFirstSuperModuleUsed() const
void SwitchOffUseParametrizedTimeCut()
void SetLocalMaximaCutE(Float_t cut)
Get year, collision type, mc/data type and period from alien global variables.
Steering class of package CaloTrackCorrelartions.