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