36 const Bool_t simulation = kFALSE,
40 const Bool_t hadronan = kTRUE,
41 const Bool_t calibrate = kTRUE,
42 const Int_t minTime = -1000,
43 const Int_t maxTime = 1000,
44 const Int_t minCen = -1,
45 const Int_t maxCen = -1,
46 const Int_t debugLevel = -1,
47 const Int_t year = 2015
50 if(simulation && !
suffix.Contains(
"default"))
52 printf(
"AddTaskPi0IMGammaCorrQA - CAREFUL : Triggered events not checked in simulation!! \n");
61 ::Error(
"AddTaskPi0IMGammaCorrQA",
"No analysis manager to connect to.");
67 if (!mgr->GetInputEventHandler())
69 ::Error(
"AddTaskPi0IMGammaCorrQA",
"This task requires an input event handler");
74 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
76 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
82 if(collision!=
"pp" && maxCen>=0) containerName+=Form(
"Cen%d_%d",minCen,maxCen);
84 printf(
"AddTaskPi0IMGammaCorrQA - Container NAME: %s \n",containerName.Data());
91 maker->SetReader (
ConfigureReader (inputDataType,collision,calibrate,minTime,maxTime,minCen,maxCen,simulation,year,debugLevel) );
111 maker->GetReader()->SwitchOnCTS();
119 maker->SetAnaDebug(debugLevel) ;
120 maker->SwitchOnHistogramsMaker() ;
121 maker->SwitchOnAODsMaker() ;
137 maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionHistoFill();
140 maker->SwitchOnPtHardHistogram();
143 if(debugLevel > 0) maker->Print(
"");
147 TString taskName =Form(
"Pi0IM_GammaTrackCorr_%s",containerName.Data());
150 task->SetConfigFileName(
"");
151 task->SetDebugLevel(debugLevel);
154 task->SetAnalysisMaker(maker);
159 TString outputfile = AliAnalysisManager::GetCommonFileName();
161 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(taskName, TList::Class(),
162 AliAnalysisManager::kOutputContainer,
163 Form(
"%s:%s",outputfile.Data(),taskName.Data()));
165 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",taskName.Data()), TList::Class(),
166 AliAnalysisManager::kParamContainer,
167 Form(
"%s_Parameters.root",taskName.Data()));
172 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
173 mgr->ConnectOutput (task, 1, cout_pc);
174 mgr->ConnectOutput (task, 2, cout_cuts);
188 if (inputDataType==
"AOD")
190 else if(inputDataType==
"ESD")
193 printf(
"AliCaloTrackReader::ConfigureReader() - Data combination not known input Data=%s\n",
194 inputDataType.Data());
201 if(inputDataType ==
"ESD")
206 else if(inputDataType ==
"AOD")
245 if(inputDataType==
"ESD")
247 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
251 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
253 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
259 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001006);
261 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10041006);
265 else if(inputDataType==
"AOD")
295 if(collision==
"PbPb")
302 if(debugLevel > 0) reader->
Print(
"");
347 if(calibrate && !simulation)
357 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
365 recou->SetExoticCellDiffTimeCut(50.);
367 if(calorimeter==
"PHOS")
381 if(debugLevel > 0) cu->
Print(
"");
406 if(calorimeter ==
"PHOS")
451 ana->
SetOutputAODName(Form(
"Photon%s_Calo%d",containerName.Data(),caloType));
453 ana->
SetInputAODName (Form(
"Photon%s_Calo%d",containerName.Data(),caloType));
465 if(debugLevel > 0 ) ana->
Print(
"");
482 ana->
SetInputAODName(Form(
"Photon%s_Calo%d",containerName.Data(),caloType));
504 if (collision ==
"pp" )
512 else if(collision ==
"PbPb")
523 else if(collision ==
"pPb")
545 if(debugLevel > 0) ana->
Print(
"");
582 if(debugLevel > 0) ana->
Print(
"");
650 ana->
SetInputAODName(Form(
"%s%s_Calo%d",particle.Data(),containerName.Data(),caloType));
651 ana->
SetAODObjArrayName(Form(
"%sHadronCorr_%s_Calo%d",particle.Data(),containerName.Data(),caloType));
670 if(debugLevel > 0) ana->
Print(
"");
707 if(debugLevel > 0) ana->
Print(
"");
721 if(calorimeter==
"EMCAL")
729 else if ( year < 2014 )
780 if(collision==
"PbPb")
void SwitchOnBadChannelsRemoval()
void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetDebug(Int_t d)
virtual void SwitchOffTrackMultBins()
void SetNumberOfCellsFromPHOSBorder(Int_t n)
void SwitchOffRunDepCorrection()
AliAnaPhoton * ConfigurePhotonAnalysis(TString calorimeter, Bool_t caloType, TString collision, TString containerName, Bool_t simulation, Int_t year, Int_t debugLevel)
void SwitchOffStudyWeight()
virtual void SetMaxEnergy(Float_t e)
void SetTimeCut(Double_t min, Double_t max)
void SwitchOffFillEtaGapHistograms()
void ana(Int_t mode=mGRID)
void SetSimpleCTSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SwitchOffStudyClustersAsymmetry()
void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void AddToHistogramsName(TString add)
void SwitchOffCorrelationVzBin()
void SwitchOnFillAllTrackMatchingHistogram()
void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnTrackMatchRejection()
void SwitchOnLoadOwnEMCALGeometryMatrices()
void SetAssociatedPtRange(Float_t min, Float_t max)
void SetNPIDBits(Int_t s)
virtual void SwitchOnAODHybridTrackSelection()
virtual void SetCentralityBin(Int_t min, Int_t max)
AliEMCALRecoUtils * GetEMCALRecoUtils() const
void SwitchOffClusterRecalculation()
virtual void SwitchOnDataMC()
void FillNPrimaryHistograms(Int_t n)
virtual void SwitchOnTrackMultBins()
void SetCTSPtMax(Float_t pt)
void SwitchOffClusterPlot()
void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n)
Selected photon clusters invariant mass analysis.
virtual void SetCalorimeter(TString &calo)
Set the calorimeter for the analysis. A string.
virtual void SetInputAODName(TString name)
virtual void SetTrackComplementaryCuts(AliESDtrackCuts *)
void SwitchOffUseTrackDCACut()
void SetEMCALEMin(Float_t en)
void SwitchOnSMCombinations()
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
void SwitchOnRecalculateClusterPosition()
void SwitchOffTMHistoFill()
void SetSimpleEMCALFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
virtual void SetDebug(Int_t d)
virtual void SetOutputAODClassName(TString name)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOnCorrelation()
void SwitchOffMultipleCutAnalysis()
void SwitchOffFillAllPositionHistogram2()
Class for the Calorimeter QA analysis.
AliAnalysisTaskCaloTrackCorrelation * AddTaskPi0IMGammaCorrQA(const TString calorimeter="EMCAL", const Bool_t simulation=kFALSE, const TString collision="pp", const TString suffix="default", const Bool_t qaan=kTRUE, const Bool_t hadronan=kTRUE, const Bool_t calibrate=kTRUE, const Int_t minTime=-1000, const Int_t maxTime=1000, const Int_t minCen=-1, const Int_t maxCen=-1, const Int_t debugLevel=-1, const Int_t year=2015)
AliCaloTrackReader * ConfigureReader(TString inputDataType, TString collision, Bool_t calibrate, Int_t minTime, Int_t maxTime, Int_t minCen, Int_t maxCen, Bool_t simulation, Int_t year, Int_t debugLevel)
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnAODMCParticles()
void SetLocalMaximaCutEDiff(Float_t c)
void SetNumberOfCellsFromEMCALBorder(Int_t n)
void SetNCellCut(Int_t n)
void SwitchOffNearSideLeading()
void SwitchOffPileUpEventRejection()
const TString calorimeter
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
void SetHistoTrackResidualEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
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 SwitchOffAODMCParticles()
void SetCTSPtMin(Float_t pt)
virtual void SetPairTimeCut(Float_t t)
void SetPHOSRCut(Float_t rcut)
void SetEMCALDPhiCut(Float_t dcut)
virtual void SetOutputAODName(TString name)
void SwitchOffRecalculateClusterTrackMatching()
void SwitchOnFillAngleHisto()
void SwitchOffVertexBCEventSelection()
Correlate trigger particles (photon, pi0, tracks) and charged tracks: Azimuthal correlations, xE distributions.
virtual void SetNTrackMultBin(Int_t n=1)
Number of bins in centrality.
void DoEMCALFiducialCut(Bool_t b)
void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
void SwitchOffRecalibration()
void SetUeDeltaPhiCutRange(Double_t uephimin, Double_t uephimax)
void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SetDebug(Int_t d)
void SetHistoPOverERangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual AliFiducialCut * GetFiducialCut()
virtual void SetCentralityOpt(Int_t opt)
void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SwitchOnFillHighMultiplicityHistograms()
AliAnaPi0 * ConfigurePi0Analysis(TString calorimeter, Bool_t caloType, TString collision, TString containerName, Bool_t simulation, Int_t year, Bool_t qaan, Int_t debugLevel, Int_t minCen)
virtual AliHistogramRanges * GetHistogramRanges()
void SwitchOffDecayTriggerDecayCorr()
AliCalorimeterUtils * ConfigureCaloUtils(TString calorimeter, Bool_t simulation, Bool_t calibrate, Int_t year, Int_t debugLevel)
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SetNZvertBin(Int_t n=1)
void SetTrackStatus(ULong_t bit)
void SwitchOnUseEMCALTimeCut()
void SwitchOffNeutralCorr()
Filter EMCal/PHOS clusters for photon analysis.
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
AliAnaCalorimeterQA * ConfigureQAAnalysis(TString calorimeter, Bool_t caloType, TString collision, Bool_t simulation, Int_t year, Int_t debugLevel)
virtual void SwitchOnOwnMix()
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
virtual void SwitchOnCaloPID()
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 SetEMCALClusterListName(TString &name)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOnCorrectClusterLinearity()
void SwitchOffHMPIDCorrelation()
void SetHistoYRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetTimeCut(Double_t min, Double_t max)
void SwitchOffFillAllPositionHistogram()
void SwitchOffFillVertexBC0Histograms()
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOffUseTrackTimeCut()
virtual AliCaloPID * GetCaloPID()
virtual void SwitchOnFiducialCut()
AliAnaParticleHadronCorrelation * ConfigureHadronCorrelationAnalysis(TString particle, TString calorimeter, Bool_t caloType, TString collision, TString containerName, Bool_t simulation, Int_t year, Int_t debugLevel, Int_t minCen)
virtual void SetZvertexCut(Float_t zcut=10.)
void SetHistoRangeAndNBins(AliHistogramRanges *histoRanges, TString calorimeter, Bool_t caloType, TString collision, Int_t year)
void SwitchOffRejectNoTrackEvents()
void SetNumberOfSuperModulesUsed(Int_t nSM)
void SwitchOnClusterRecalculation()
Class containing more common histogram axis types.
void SetEMCALLambda0CutMax(Float_t lcut)
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
virtual void SwitchOnAliCentrality()
virtual void SetMinEnergy(Float_t e)
virtual void SetNCentrBin(Int_t n=1)
Number of bins in reaction plain.
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
void SetNAsymCuts(Int_t s)
void SetPHOSEMin(Float_t en)
virtual void SetNRPBin(Int_t n=1)
Number of bins for vertex position.
void SetHistoNClustersRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SetPHOSDispersionCut(Float_t dcut)
virtual void SetTrackCuts(AliESDtrackCuts *)
Track selection for correlation analysis.
virtual void SwitchOffFiducialCut()
void SwitchOnFillShowerShapeHistograms()
void SwitchOffFillBradHistograms()
void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffSeveralUECalculation()
void SetTrackTimeCut(Double_t a, Double_t b)
void SetEMCALTimeCut(Double_t a, Double_t b)
void SetHistoAsymmetryRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0MultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetAODObjArrayName(TString name)
Main class conecting the CaloTrackCorrelations package and Analysis Frame.
void SwitchOffLoadOwnPHOSGeometryMatrices()
void SwitchOffStudyBadClusters()
void SwitchOffRecalculateVertexBC()
void SwitchOffFillAllTH3Histogram()
void SetHistoZRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0SignalRangeAndNBins(Int_t min, Int_t max, Int_t n)
void SetHistoTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoFinePtRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnAbsoluteLeading()
void SetEMCALEMax(Float_t en)
void SetNAssocPtBins(Int_t n)
Set number of associated charged (neutral) hadrons pT bins.
void SwitchOnFillAllCellTimeHisto()
Class for PID selection with calorimeters.
void FillNOriginHistograms(Int_t n)
virtual void SetNMaxEvMix(Int_t n=20)
Number of bins in track multiplicity.
virtual void SwitchOnRealCaloAcceptance()
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SelectIsolated(Bool_t s)
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 SetHistoHBPRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALLambda0CutMin(Float_t lcut)
void SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnEventTriggerAtSE()
virtual void SwitchOffOwnMix()
void SetHistoVertexDistRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffPi0TriggerDecayCorr()
void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALDEtaCut(Float_t dcut)
void SwitchOffUseParametrizedTimeCut()
void SwitchOffFillOriginHisto()
void SetLocalMaximaCutE(Float_t cut)
virtual void SetMinPt(Float_t pt)
void SetHistoRatioRangeAndNBins(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 SetNLMCut(Int_t min, Int_t max)
void SetAssocPtBinLimit(Int_t ibin, Float_t pt)
Set the list of pT limits for the of associated charged (neutral) hadrons.
Steering class of package CaloTrackCorrelartions.
AliAnaChargedParticles * ConfigureChargedAnalysis(TString collision, TString containerName, Bool_t simulation, Int_t year, Int_t debugLevel)
void SetTriggerPtRange(Float_t min, Float_t max)