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