12 #if !defined(__CINT__) || defined(__MAKECINT__) 27 #include "AliAnalysisManager.h" 28 #include "AliInputEventHandler.h" 29 #include "AliVTrack.h" 31 #include "AliESDtrackCuts.h" 32 #include "CreateTrackCutsPWGJE.C" 97 Bool_t simulation = kFALSE,
100 Int_t rejectEMCTrig = 0,
107 Bool_t printSettings = kFALSE,
109 const char *trigSuffix =
"EMC7" 116 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/GetAlienGlobalProductionVariables.C");
119 Bool_t printGlobal = kTRUE;
128 ::Error(
"AddTaskClusterShape",
"No analysis manager to connect to.");
134 if (!mgr->GetInputEventHandler())
136 ::Error(
"AddTaskClusterShape",
"This task requires an input event handler");
145 kAnaClusterShape = Form(
"ShapeAna%s_%s",trigger.Data(),clustersArray.Data());
147 Int_t minCen = -1, maxCen = -1;
149 if(collision==
"PbPb" && maxCen>=0) kAnaClusterShape+=Form(
"Cen%d_%d",minCen,maxCen);
155 task->SetDebugLevel(
debug);
169 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
172 if(clustersArray.Length()>0) containerName = Form(
"%s_%s",containerName.Data(),clustersArray.Data());
174 TString subcontainerName = Form(
"%s",trigger.Data());
175 if(clustersArray.Length()>0) subcontainerName = Form(
"%s_%s",subcontainerName.Data(),clustersArray.Data());
177 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(subcontainerName, TList::Class(),
178 AliAnalysisManager::kOutputContainer,
179 Form(
"%s:%s",outputfile.Data(),containerName.Data()));
181 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",subcontainerName.Data()), TList::Class(),
182 AliAnalysisManager::kParamContainer,
183 Form(
"%s_Parameters.root",containerName.Data()));
188 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
189 mgr->ConnectOutput (task, 1, cout_pc);
190 mgr->ConnectOutput (task, 2, cout_cuts);
196 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/CheckActiveEMCalTriggerPerPeriod.C");
206 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
210 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
214 printf(
"AddTaskClusterShape() - Task NAME: %s; Passed settings\n",kAnaClusterShape.Data());
216 printf(
"\t calorimeter <%s>, simulation <%d>, year <%d>, collision <%s>, trigger <%s>, reject EMC <%d>,\n" 217 "\t clustersArray <%s>, tender <%d>, non linearity <%d>, TM dep <%d>, QA on <%d>,\n" 218 "\t outputfile <%s>, printSettings <%d>, debug <%d>\n",
219 calorimeter.Data(),simulation,year,collision.Data(),trigger.Data(), rejectEMCTrig,
220 clustersArray.Data(),tender, nonLinOn, tmDep, qaAn, outputfile.Data(),printSettings,
debug);
224 maker->
SetReader (
ConfigureReader (collision,simulation,clustersArray,tender,
calorimeter,nonLinOn,trigger,rejectEMCTrig,minCen,maxCen,printSettings,
debug) );
256 TString prodType =
gSystem->Getenv(
"ALIEN_JDL_LPMPRODUCTIONTYPE");
257 printf(
"AddTaskClusterShape() - MC production name: %s\n",prodType.Data());
258 if ( prodType.Contains(
"LHC16c") )
260 printf(
"\t use the cross section from EventHeader per Event\n");
268 if(printSettings) maker->
Print(
"");
270 printf(
"AddTaskClusterShape() - << End Configuration of %d analysis for calorimeter %s >>\n",n,
calorimeter.Data());
278 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/CaloTrackCorrelations/macros/ConfigureAndGetEventTriggerMaskAndCaloTriggerString.C");
279 TString caloTriggerString =
"";
284 task ->SelectCollisionCandidates( mask );
302 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
307 else printf(
"AddTaskClusterShape::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
371 if(clustersArray ==
"" && !tender)
373 printf(
"AddTaskClusterShape::ConfigureReader() - **************** Standard EMCAL clusters branch analysis **************** \n");
379 printf(
"AddTaskClusterShape::ConfigureReader() - **************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
401 if(calorimeter ==
"EMCAL")
407 if(calorimeter ==
"PHOS")
423 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
425 printf(
"AddTaskClusterShape::ConfigureReader() === Remove bad triggers === \n");
446 if(clustersArray !=
"" || tender)
448 printf(
"AddTaskClusterShape::ConfigureReader() - Trigger cluster calibration OFF\n");
475 if(printSettings) reader->
Print(
"");
503 printf(
"AddTaskClusterShape::ConfigureCaloUtils() xxx Number of SM set to <%d> xxx\n",
528 Bool_t calibEner = kFALSE;
529 Bool_t calibTime = kFALSE;
579 if(printSettings) cu->
Print(
"");
712 if(calorimeter==
"EMCAL")
720 else if ( year < 2014 )
735 else if(calorimeter==
"PHOS")
740 else if(calorimeter==
"CTS")
800 else if(year == 2012 ||
813 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 ana(Int_t mode=mGRID)
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 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 CheckActiveEMCalTriggerPerPeriod(Bool_t simulation, TString trigger, TString period, Int_t year)
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.
void SwitchOffStudyMatchedPID()
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetCaloUtils(AliCalorimeterUtils *cu)
Steering class of package CaloTrackCorrelartions.