33 const Bool_t simulation = kFALSE,
34 const TString collision =
"pp",
35 const TString suffix =
"default",
36 const Bool_t qaan = kFALSE,
37 const Bool_t hadronan = kFALSE,
38 const Int_t minCen = -1,
39 const Int_t maxCen = -1,
40 const Int_t debugLevel = -1,
41 const Int_t year = 2015
44 if(simulation && !suffix.Contains(
"default"))
46 printf(
"AddTaskPi0IMGammaCorrQA - CAREFUL : Triggered events not checked in simulation!! \n");
52 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
55 ::Error(
"AddTaskPi0IMGammaCorrQA",
"No analysis manager to connect to.");
61 if (!mgr->GetInputEventHandler())
63 ::Error(
"AddTaskPi0IMGammaCorrQA",
"This task requires an input event handler");
68 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
70 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
74 TString containerName = Form(
"%s_%s",
calorimeter.Data(), suffix.Data());
76 if(collision!=
"pp" && maxCen>=0) containerName+=Form(
"Cen%d_%d",minCen,maxCen);
78 printf(
"AddTaskPi0IMGammaCorrQA - Container NAME: %s \n",containerName.Data());
85 maker->SetReader (
ConfigureReader (inputDataType,collision,minCen,maxCen,simulation,year,debugLevel) );
97 maker->GetReader()->SwitchOnCTS();
104 maker->SetAnaDebug(debugLevel) ;
105 maker->SwitchOnHistogramsMaker() ;
106 maker->SwitchOnAODsMaker() ;
107 maker->SwitchOffDataControlHistograms();
108 if(suffix.Contains(
"EMC"))
109 maker->SwitchOnDataControlHistograms();
111 if(debugLevel > 0) maker->Print(
"");
115 TString taskName =Form(
"Pi0IM_GammaTrackCorr_%s",containerName.Data());
118 task->SetConfigFileName(
"");
119 task->SetDebugLevel(debugLevel);
122 task->SetAnalysisMaker(maker);
127 TString outputfile = AliAnalysisManager::GetCommonFileName();
129 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(taskName, TList::Class(),
130 AliAnalysisManager::kOutputContainer,
131 Form(
"%s:%s",outputfile.Data(),taskName.Data()));
133 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",taskName.Data()), TList::Class(),
134 AliAnalysisManager::kParamContainer,
135 Form(
"%s_Parameters.root",taskName.Data()));
140 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
141 mgr->ConnectOutput (task, 1, cout_pc);
142 mgr->ConnectOutput (task, 2, cout_cuts);
151 Int_t minCen, Int_t maxCen,
152 Bool_t simulation, Int_t year, Int_t debugLevel)
155 if (inputDataType==
"AOD")
157 else if(inputDataType==
"ESD")
160 printf(
"AliCaloTrackReader::ConfigureReader() - Data combination not known input Data=%s\n",
161 inputDataType.Data());
168 if(inputDataType ==
"ESD")
173 else if(inputDataType ==
"AOD")
211 if(inputDataType==
"ESD")
213 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
217 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
219 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
225 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001006);
227 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10041006);
231 else if(inputDataType==
"AOD")
259 if(collision==
"PbPb")
265 if(debugLevel > 0) reader->
Print(
"");
300 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/EMCALTasks/macros/ConfigureEMCALRecoUtils.C");
301 ConfigureEMCALRecoUtils(recou,
308 recou->SetExoticCellDiffTimeCut(50.);
312 if(calorimeter==
"PHOS")
326 if(debugLevel > 0) cu->
Print(
"");
336 TString containerName, Bool_t simulation,
337 Int_t year, Int_t debugLevel)
348 if(calorimeter ==
"PHOS")
406 if(debugLevel > 0 ) ana->
Print(
"");
415 TString containerName, Bool_t simulation, Int_t year,
416 Bool_t qaan, Int_t debugLevel)
438 if (collision ==
"pp" )
446 else if(collision ==
"PbPb")
454 else if(collision ==
"pPb")
475 if(debugLevel > 0) ana->
Print(
"");
484 Bool_t simulation, Int_t year, Int_t debugLevel)
512 if(debugLevel > 0) ana->
Print(
"");
521 TString collision, TString containerName,
522 Bool_t simulation, Int_t year, Int_t debugLevel)
577 ana->
SetInputAODName(Form(
"%s%s",particle.Data(),containerName.Data()));
578 ana->
SetAODObjArrayName(Form(
"%sHadronCorr_%s",particle.Data(),containerName.Data()));
597 if(debugLevel > 0) ana->
Print(
"");
606 Bool_t simulation, Int_t year, Int_t debugLevel)
630 if(debugLevel > 0) ana->
Print(
"");
640 TString collision, Int_t year)
644 if(calorimeter==
"EMCAL")
652 else if ( year < 2014)
661 emcalQA->GetHistogramRanges()->SetHistoXRangeAndNBins(-1000,1000,500);
662 emcalQA->GetHistogramRanges()->SetHistoYRangeAndNBins(0,1000,200);
702 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()
AliAnalysisTaskCaloTrackCorrelation * AddTaskPi0IMGammaCorrQA(const TString calorimeter="EMCAL", const Bool_t simulation=kFALSE, const TString collision="pp", const TString suffix="default", const Bool_t qaan=kFALSE, const Bool_t hadronan=kFALSE, const Int_t minCen=-1, const Int_t maxCen=-1, const Int_t debugLevel=-1, const Int_t year=2015)
void SetNumberOfCellsFromPHOSBorder(Int_t n)
void SwitchOffRunDepCorrection()
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 SwitchOffUseEMCALTimeCut()
void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void AddToHistogramsName(TString add)
void SwitchOffCorrelationVzBin()
void SwitchOnFillAllTrackMatchingHistogram()
virtual void SwitchOnFiducialCut()
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 SwitchOnSMCombinations()
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
void SetHistoRangeAndNBins(AliHistogramRanges *histoRanges, TString calorimeter, TString collision, Int_t year)
void SwitchOffTMHistoFill()
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()
AliCaloTrackReader * ConfigureReader(TString inputDataType, TString collision, Int_t minCen, Int_t maxCen, Bool_t simulation, Int_t year, Int_t debugLevel)
void SwitchOffMultipleCutAnalysis()
void SwitchOffFillAllPositionHistogram2()
Class for the Calorimeter QA analysis.
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnAODMCParticles()
void SetLocalMaximaCutEDiff(Float_t c)
void SetPHOSEMax(Float_t e)
void SetNumberOfCellsFromEMCALBorder(Int_t n)
void SetEMCALEMin(Float_t e)
void SetNCellCut(Int_t n)
void SwitchOffNearSideLeading()
void SwitchOffPileUpEventRejection()
const TString calorimeter
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)
AliAnaParticleHadronCorrelation * ConfigureHadronCorrelationAnalysis(TString particle, TString calorimeter, TString collision, TString containerName, Bool_t simulation, Int_t year, Int_t debugLevel)
virtual void SetPairTimeCut(Float_t t)
void SetPHOSRCut(Float_t rcut)
void SetEMCALDPhiCut(Float_t dcut)
virtual void SetOutputAODName(TString name)
void SwitchOffRecalculateClusterTrackMatching()
AliCalorimeterUtils * ConfigureCaloUtils(TString calorimeter, Bool_t simulation, Int_t year, Int_t debugLevel)
AliAnaCalorimeterQA * ConfigureQAAnalysis(TString calorimeter, TString collision, Bool_t simulation, Int_t year, Int_t debugLevel)
void SwitchOffVertexBCEventSelection()
Correlate trigger particles (photon, pi0, tracks) and charged tracks: Azimuthal correlations, xE distributions.
virtual void SetNTrackMultBin(Int_t n=1)
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()
void SwitchOffFillAngleHisto()
virtual void SetCentralityOpt(Int_t opt)
void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual AliHistogramRanges * GetHistogramRanges()
void SwitchOffDecayTriggerDecayCorr()
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SetNZvertBin(Int_t n=1)
void SetTrackStatus(ULong_t bit)
void SwitchOffNeutralCorr()
Filter EMCal/PHOS clusters for photon analysis.
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SwitchOnOwnMix()
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
AliAnaPhoton * ConfigurePhotonAnalysis(TString calorimeter, TString collision, TString containerName, Bool_t simulation, Int_t year, Int_t debugLevel)
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.
AliAnaPi0 * ConfigurePi0Analysis(TString calorimeter, TString collision, TString containerName, Bool_t simulation, Int_t year, Bool_t qaan, Int_t debugLevel)
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()
virtual void SetZvertexCut(Float_t zcut=10.)
void SwitchOffRejectNoTrackEvents()
void SetNumberOfSuperModulesUsed(Int_t nSM)
Class containing more common histogram axis types.
void SetEMCALLambda0CutMax(Float_t lcut)
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
virtual void SetMinEnergy(Float_t e)
virtual void SetNCentrBin(Int_t n=1)
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
void SetNAsymCuts(Int_t s)
virtual void SetNRPBin(Int_t n=1)
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.
void SwitchOnFillShowerShapeHistograms()
void SwitchOffFillBradHistograms()
virtual void SwitchOffFillHighMultiplicityHistograms()
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 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)
void SetPHOSEMin(Float_t e)
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SelectIsolated(Bool_t s)
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)
virtual void SwitchOffFiducialCut()
void SwitchOnEventTriggerAtSE()
virtual void SwitchOffOwnMix()
void SetHistoVertexDistRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALEMax(Float_t e)
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)