12 #if !defined(__CINT__) || defined(__MAKECINT__) 20 #include "AliAnalysisManager.h" 21 #include "AliInputEventHandler.h" 22 #include "AliVTrack.h" 36 R__ADD_INCLUDE_PATH($ALICE_PHYSICS)
38 #include "PWGGA/CaloTrackCorrelations/macros/ConfigureAndGetEventTriggerMaskAndCaloTriggerString.C" 102 Bool_t simulation = kFALSE,
105 Int_t rejectEMCTrig = 0,
112 Bool_t printSettings = kFALSE,
114 const char *trigSuffix =
"EMC7" 121 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/GetAlienGlobalProductionVariables.C");
124 Bool_t printGlobal = kTRUE;
133 ::Error(
"AddTaskClusterShape",
"No analysis manager to connect to.");
139 if (!mgr->GetInputEventHandler())
141 ::Error(
"AddTaskClusterShape",
"This task requires an input event handler");
150 kAnaClusterShape = Form(
"ShapeAna%s_%s",trigger.Data(),clustersArray.Data());
152 Int_t minCen = -1, maxCen = -1;
154 if(collision==
"PbPb" && maxCen>=0) kAnaClusterShape+=Form(
"Cen%d_%d",minCen,maxCen);
160 task->SetDebugLevel(debug);
174 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
177 if(clustersArray.Length()>0) containerName = Form(
"%s_%s",containerName.Data(),clustersArray.Data());
179 TString subcontainerName = Form(
"%s",trigger.Data());
180 if(clustersArray.Length()>0) subcontainerName = Form(
"%s_%s",subcontainerName.Data(),clustersArray.Data());
182 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(subcontainerName, TList::Class(),
183 AliAnalysisManager::kOutputContainer,
184 Form(
"%s:%s",outputfile.Data(),containerName.Data()));
186 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",subcontainerName.Data()), TList::Class(),
187 AliAnalysisManager::kParamContainer,
188 Form(
"%s_Parameters.root",containerName.Data()));
193 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
194 mgr->ConnectOutput (task, 1, cout_pc);
195 mgr->ConnectOutput (task, 2, cout_cuts);
201 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/CheckActiveEMCalTriggerPerPeriod.C");
211 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
215 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
219 printf(
"AddTaskClusterShape() - Task NAME: %s; Passed settings\n",kAnaClusterShape.Data());
221 printf(
"\t calorimeter <%s>, simulation <%d>, year <%d>, collision <%s>, trigger <%s>, reject EMC <%d>,\n" 222 "\t clustersArray <%s>, tender <%d>, non linearity <%d>, TM dep <%d>, QA on <%d>,\n" 223 "\t outputfile <%s>, printSettings <%d>, debug <%d>\n",
224 calorimeter.Data(),simulation,year,collision.Data(),trigger.Data(), rejectEMCTrig,
225 clustersArray.Data(),tender, nonLinOn, tmDep, qaAn, outputfile.Data(),printSettings,debug);
229 maker->
SetReader (
ConfigureReader (collision,simulation,clustersArray,tender,
calorimeter,nonLinOn,trigger,rejectEMCTrig,minCen,maxCen,printSettings,debug) );
261 TString prodType =
gSystem->Getenv(
"ALIEN_JDL_LPMPRODUCTIONTYPE");
262 printf(
"AddTaskClusterShape() - MC production name: %s\n",prodType.Data());
263 if ( prodType.Contains(
"LHC16c") )
265 printf(
"\t use the cross section from EventHeader per Event\n");
273 if(printSettings) maker->
Print(
"");
275 printf(
"AddTaskClusterShape() - << End Configuration of %d analysis for calorimeter %s >>\n",n,
calorimeter.Data());
283 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/ConfigureAndGetEventTriggerMaskAndCaloTriggerString.C");
284 TString caloTriggerString =
"";
289 task ->SelectCollisionCandidates( mask );
307 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
312 else printf(
"AddTaskClusterShape::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
376 if(clustersArray ==
"" && !tender)
378 printf(
"AddTaskClusterShape::ConfigureReader() - **************** Standard EMCAL clusters branch analysis **************** \n");
384 printf(
"AddTaskClusterShape::ConfigureReader() - **************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
406 if(calorimeter ==
"EMCAL")
412 if(calorimeter ==
"PHOS")
428 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
430 printf(
"AddTaskClusterShape::ConfigureReader() === Remove bad triggers === \n");
451 if(clustersArray !=
"" || tender)
453 printf(
"AddTaskClusterShape::ConfigureReader() - Trigger cluster calibration OFF\n");
480 if(printSettings) reader->
Print(
"");
508 printf(
"AddTaskClusterShape::ConfigureCaloUtils() xxx Number of SM set to <%d> xxx\n",
533 Bool_t calibEner = kFALSE;
534 Bool_t calibTime = kFALSE;
584 if(printSettings) cu->
Print(
"");
717 if(calorimeter==
"EMCAL")
725 else if ( year < 2014 )
740 else if(calorimeter==
"PHOS")
745 else if(calorimeter==
"CTS")
805 else if(year == 2012 ||
818 if(printSettings) ana->
Print(
"");
void SetEMCALNCellsPerClusterMin(Int_t n)
void SwitchOnBadChannelsRemoval()
void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetDebug(Int_t d)
void SetNumberOfCellsFromPHOSBorder(Int_t n)
void SwitchOffRunDepCorrection()
void SetTimeCut(Double_t min, Double_t max)
void SwitchOffUseEMCALTimeCut()
void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void AddToHistogramsName(TString add)
void SwitchOnFillAllTrackMatchingHistogram()
void SwitchOffStudyInvariantMass()
void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnLoadOwnEMCALGeometryMatrices()
void SetEMCALM02Min(Float_t m02)
void SwitchOffStudyClusterShapeParam()
AliAnaClusterShapeCorrelStudies * ConfigureClusterShape(Bool_t tmPtDep, TString col, Bool_t simulation, TString calorimeter, Int_t year, Bool_t printSettings, Int_t debug)
virtual void SetCentralityBin(Int_t min, Int_t max)
AliEMCALRecoUtils * GetEMCALRecoUtils() const
void SwitchOnFillAllCellHistogram()
void SwitchOffClusterRecalculation()
virtual void SwitchOnDataMC()
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnPileUpEventRejection()
void SetEMCALEMin(Float_t en)
void SwitchOffStudyColRowFromCellMax()
void AddAnalysis(TObject *ana, Int_t n)
Add analysis depending on AliAnaCaloTrackCorrBaseClass to list.
void SwitchOnTriggerPatchMatching()
void SwitchOffStudyExotic()
virtual void SetDebug(Int_t d)
AliCaloTrackReader * ConfigureReader(TString col, Bool_t simulation, TString clustersArray, Bool_t tender, TString calorimeter, Bool_t nonLinOn, TString trigger, Bool_t rejectEMCTrig, Int_t minCen, Int_t maxCen, Bool_t printSettings, Int_t debug)
void ana(anaModes mode=mLocal)
void SwitchOffFillAllPositionHistogram2()
Class for the Calorimeter QA analysis.
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnRunDepCorrection()
void SetLocalMaximaCutEDiff(Float_t c)
void SwitchOnMCCrossSectionHistoFill()
void SetNumberOfCellsFromEMCALBorder(Int_t n)
void SwitchOnPtHardHistogram()
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SwitchOffStudyTCardCorrelation()
const TString calorimeter
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
virtual void SetPtHardAndJetPtComparison(Bool_t compare)
Bool_t IsRecalibrationOn() const
Bool_t IsRecalibrationOn() const
Some utilities for cluster and cell treatment.
void SetHistoTrackResidualEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnMCCrossSectionFromEventHeader()
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SetAnalysisCommonParameters(AliAnaCaloTrackCorrBaseClass *ana, TString calorimeter, Int_t year, TString col, Bool_t simulation, Bool_t printSettings, Int_t debug)
Class for event, clusters and tracks filtering and preparation for the AOD analysis.
virtual void SwitchOffDataMC()
AliAnaCalorimeterQA * ConfigureQAAnalysis(TString col, Bool_t simulation, TString calorimeter, Int_t year, Bool_t printSettings, Int_t debug)
void SetCTSPtMin(Float_t pt)
void SetEMCALDPhiCut(Float_t dcut)
void SwitchOffRecalculateClusterTrackMatching()
void SwitchOffVertexBCEventSelection()
AliAnalysisTaskCaloTrackCorrelation * AddTaskClusterShape(TString calorimeter="EMCAL", Bool_t simulation=kFALSE, TString collision="pp", TString period="", Int_t rejectEMCTrig=0, TString clustersArray="", Bool_t tender=kFALSE, Bool_t nonLinOn=kFALSE, Bool_t tmDep=kTRUE, Bool_t qaAn=kFALSE, TString outputfile="", Bool_t printSettings=kFALSE, Int_t debug=0, const char *trigSuffix="EMC7")
virtual void SetPtHardAndClusterPtFactor(Float_t factor)
virtual void SetCalorimeter(TString calo)
Set the calorimeter for the analysis. A string.
Base class for CaloTrackCorr analysis algorithms.
void SwitchOffRecalibration()
void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n)
Check EMCal trigger availability in period.
virtual void SetDebug(Int_t d)
void SetHistoPOverERangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SetCentralityOpt(Int_t opt)
void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual AliHistogramRanges * GetHistogramRanges()
void SwitchOnDataControlHistograms(Int_t lev=1)
TString kAnaClusterShape
Global name to be composed of the settings, used to set the AOD branch name.
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffShowerShapeSmearing()
void SwitchOnUseEMCALTimeCut()
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
Class for cluster shape, cell T-Card correlation and exoticity.
void SetAnaDebug(Int_t d)
void SetNCellsPerClusterMin(Int_t n)
void SetEMCALBadChannelMinDist(Float_t di)
void SwitchOnStudyClusterShape()
void GetAlienGlobalProductionVariables(Bool_t &simulation, TString &col, TString &period, Int_t &year, Bool_t print=kFALSE)
void SetEMCALNCellsCut(Int_t nc)
virtual void SetPtHardAndClusterPtComparison(Bool_t compare)
void SetEMCALClusterListName(TString name)
void SwitchOffTriggerClusterTimeRecal()
virtual void SwitchOnCaloPID()
void SwitchOnHistogramsMaker()
Base class for event, clusters and tracks filtering and preparation for the analysis.
void SetHistoNClusterCellRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SwitchOffBadTriggerEventsRemoval()
void SetNCellBinLimits(Int_t nb)
Int_t GetNumberOfSuperModulesUsed() const
void SwitchOnCorrectClusterLinearity()
void SetAnalysisMaker(AliAnaCaloTrackCorrMaker *const maker)
void SetHistoYRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffFillAllPositionHistogram()
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
virtual AliCaloPID * GetCaloPID()
void SetConstantTimeShift(Float_t shift)
void SwitchOffTriggerPatchMatching()
virtual void SetZvertexCut(Float_t zcut=10.)
void SetNumberOfSuperModulesUsed(Int_t nSM)
void SwitchOffCorrelation()
void SwitchOnClusterRecalculation()
Class containing more common histogram axis types.
void SwitchOffStudyCellTime()
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
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)
void SetHistoNClustersRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SetEMCALCellAmpMin(Float_t amp)
void SwitchOffFillAllCellTimeHisto()
virtual void SwitchOffFiducialCut()
virtual void SetCentralityClass(TString name)
void SwitchOnBadTriggerEventsRemoval()
AliCalorimeterUtils * ConfigureCaloUtils(TString col, Bool_t simulation, Bool_t tender, Bool_t nonLinOn, Int_t year, Bool_t printSettings, Int_t debug)
void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnClusterELinearityCorrection()
void SetEMCALTimeCut(Double_t a, Double_t b)
void SetFirstSMCoveredByTRD(Int_t n)
void SetHistoAsymmetryRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0MultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SwitchOnEMCTrackPtDepResMatching()
Main class conecting the CaloTrackCorrelations package and Analysis Frame.
void SwitchOffLoadOwnPHOSGeometryMatrices()
void SwitchOffStudyBadClusters()
void SwitchOffRecalculateVertexBC()
void SwitchOffFillAllTH3Histogram()
void SwitchOffProcessEvent()
void SetHistoZRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0SignalRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void Print(const Option_t *) const
Print some relevant parameters set for the analysis.
void SetHistoTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetM02Min(Float_t m02)
void SetHistoFinePtRangeAndNBins(Float_t min, Float_t max, Int_t n)
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 SwitchOnStudyEMCalModuleCells()
Class for PID selection with calorimeters.
void SetConstantTimeShift(Float_t shift)
virtual void SwitchOnRealCaloAcceptance()
void SetFiredTriggerClassName(TString name)
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SetPHOSEMax(Float_t en)
void SetHistodEdxRangeAndNBins(Float_t min, Float_t max, Int_t n)
Class with utils specific to calorimeter clusters/cells.
void SwitchOffEMCTrackPtDepResMatching()
AliCaloTrackReader * GetReader()
AliAnaWeights * GetWeightUtils()
void SetHistoHBPRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SwitchOffFiducialCut()
void SwitchOnEventTriggerAtSE()
void SetHistoVertexDistRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALDEtaCut(Float_t dcut)
void SwitchOffUseParametrizedTimeCut()
void SetLocalMaximaCutE(Float_t cut)
void SwitchOffStudyWeight()
Get year, collision type, mc/data type and period from alien global variables.
Bool_t CheckActiveEMCalTriggerPerPeriod(Bool_t simulation, TString &trigger, TString period, Int_t year)
void SwitchOffStudyMatchedPID()
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetCaloUtils(AliCalorimeterUtils *cu)
Steering class of package CaloTrackCorrelartions.