46 const Bool_t simulation = kFALSE,
47 const Bool_t eventsel = kFALSE,
48 const Bool_t exotic = kTRUE,
49 const Bool_t nonlin = kFALSE,
50 const Int_t year = 2011,
52 AliVEvent::EOfflineTriggerTypes trig = AliVEvent::kCentral + AliVEvent::kSemiCentral + AliVEvent::kMB + AliVEvent::kEMCEGA,
53 const TString clustersArray =
"V1_Ecell150_Eseed300_DT0_WT0",
54 const Int_t nlmMin = 1,
55 const Int_t nlmMax = 2,
56 const Bool_t simpleM02Cut = kFALSE,
57 const Bool_t simpleMassCut = kFALSE,
60 const Bool_t recaltm = kFALSE,
62 const Int_t minCen = -1,
63 const Int_t maxCen = -1,
64 const Bool_t calibE = kTRUE,
65 const Bool_t badmap = kTRUE,
66 const Bool_t calibT = kTRUE,
67 const Bool_t tender = kFALSE,
68 const Bool_t outputAOD = kFALSE,
69 const Bool_t printSettings = kFALSE,
70 const Int_t runNumber = -1,
71 const Bool_t isPhosCali = kTRUE,
72 const Bool_t isCentFlat = kFALSE,
77 kInputDataType = dataType;
85 kClusterArray = clustersArray;
105 ::Error(
"AddTask",
"No analysis manager to connect to.");
109 if (!mgr->GetInputEventHandler())
111 ::Error(
"AddTask",
"This task requires an input event handler");
115 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
116 kInputDataType =
"AOD";
117 if(!kData.Contains(
"delta"))
118 kInputDataType = mgr->GetInputEventHandler()->GetDataType();
128 kName = Form(
"%s_Cl%s_TM%d",kCalorimeter.Data(), kClusterArray.Data(),
kTM);
130 printf(
"<<<< NAME: %s >>>>>\n",kName.Data());
146 if (kCalorimeter ==
"EMCAL") {
149 simpleM02Cut, simpleMassCut, massPi0Min, massPi0Max), n++);
153 maker->SetAnaDebug(
kDebug) ;
154 maker->SwitchOnHistogramsMaker() ;
155 if(kData.Contains(
"delta")) maker->SwitchOffAODsMaker() ;
156 else maker->SwitchOnAODsMaker() ;
157 if(
kPrint) maker->Print(
"");
158 if(
kSimulation) maker->SwitchOffDataControlHistograms();
159 printf(
"<< End Configuration of %d analysis for calorimeter %s >>\n",n, kCalorimeter.Data());
165 task->SetConfigFileName(
"");
166 task->SetDebugLevel(
kDebug);
168 task->SelectCollisionCandidates(trig);
169 task->SetAnalysisMaker(maker);
175 TString outputfile = AliAnalysisManager::GetCommonFileName();
176 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(kName, TList::Class(),
177 AliAnalysisManager::kOutputContainer,
178 Form(
"%s",outputfile.Data()));
179 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",kName.Data()), TList::Class(),
180 AliAnalysisManager::kParamContainer,
181 "AnalysisParameters.root");
182 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
183 mgr->ConnectOutput (task, 1, cout_pc);
184 mgr->ConnectOutput (task, 2, cout_cuts);
195 if (kInputDataType ==
"ESD"&& kData==
"MC" )
197 else if(kInputDataType==
"AOD" || kData.Contains(
"AOD"))
199 else if(kInputDataType==
"ESD")
202 printf(
"AliCaloTrackReader::ConfigureReader() - Data combination not known kData=%s, kInputData=%s\n",kData.Data(),kInputDataType.Data());
234 printf(
"Set time cut parameters for run %d\n",
kRunNumber);
244 printf(
"Set time parameters for LHC11c");
250 printf(
"Set time parameters for LHC11d");
285 if(kInputDataType==
"ESD")
287 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
295 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
297 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
303 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001006);
305 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10041006);
309 else if(kInputDataType==
"AOD")
320 if(kClusterArray ==
"" && !
kTender)
322 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
328 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", kClusterArray.Data());
334 if(kCalorimeter ==
"EMCAL") {
338 if(kCalorimeter ==
"PHOS") {
344 if(kData.Contains(
"delta"))
373 reader->SwitchOnEventPileUpRejection();
382 if(kCollisions==
"PbPb")
412 if(kCollisions==
"pp")
416 if(kName.Contains(
"150"))
418 printf(
"Reclusterize with 150 threshold, set PbPb settings\n");
449 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
462 printf(
"ConfigureCaloUtils() - Apply non linearity to EMCAL\n");
470 if(kCalorimeter==
"PHOS")
498 Bool_t simpleSplitM02Cut = kFALSE,
Bool_t simpleSplitMassCut = kFALSE,
537 if (!kInputDataType.Contains(
"delta")) {
538 ana->
SetOutputAODName(Form(
"%s%s%s",particle.Data(), opt.Data(), kName.Data()));
541 ana->
SetInputAODName(Form(
"%s%s%s",particle.Data(),opt.Data(),kName.Data()));
560 printf(
"Do not apply SS cut on merged pi0 analysis \n");
563 ana->
SetOutputAODName(Form(
"%s%s%s_OpenSS",particle.Data(), opt.Data(), kName.Data()));
578 ana->
SetOutputAODName(Form(
"%s%s%s_OpenSS_OpenAsy",particle.Data(), opt.Data(), kName.Data()));
581 ana->
SetOutputAODName(Form(
"%s%s%s_OpenAsy",particle.Data(), opt.Data(), kName.Data()));
593 if (kCollisions==
"PbPb" || kName.Contains(
"150")) {
613 ana->
SetInputAODName(Form(
"%s%s%s",particle.Data(),opt.Data(),kName.Data()));
630 if(kCalorimeter==
"EMCAL")
687 if(kCollisions==
"PbPb")
void SwitchOnBadChannelsRemoval()
void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetDebug(Int_t d)
void SetNumberOfCellsFromPHOSBorder(Int_t n)
virtual void SetMaxEnergy(Float_t e)
void ana(Int_t mode=mGRID)
void SetSimpleCTSFiducialCut(Float_t abseta, Float_t phimin, Float_t phimax)
void SwitchOffUseEMCALTimeCut()
void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void AddToHistogramsName(TString add)
AliAnaPi0EbE * ConfigurePi0EbEAnalysis(TString particle, Int_t analysis, Bool_t useSS=kTRUE, Bool_t useAsy=kTRUE, Int_t nlmMin=1, Int_t nlmMax=2, Bool_t simpleSplitM02Cut=kFALSE, Bool_t simpleSplitMassCut=kFALSE, Double_t massPi0Min, Double_t massPi0Max)
void SetSplitWidthSigma(Float_t s)
virtual void SwitchOnFiducialCut()
void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetClusterSplittingM02Cut(Float_t min=0, Float_t max=100)
void SwitchOnLoadOwnEMCALGeometryMatrices()
void SwitchOnSplitShowerShapeCut()
AliAnalysisTaskCaloTrackCorrelation * AddTaskCaloTrackPi0Flow(const TString data="", const TString dataType="AOD", const TString calorimeter="EMCAL", const Bool_t simulation=kFALSE, const Bool_t eventsel=kFALSE, const Bool_t exotic=kTRUE, const Bool_t nonlin=kFALSE, const Int_t year=2011, const TString col="PbPb", AliVEvent::EOfflineTriggerTypes trig=AliVEvent::kCentral+AliVEvent::kSemiCentral+AliVEvent::kMB+AliVEvent::kEMCEGA, const TString clustersArray="V1_Ecell150_Eseed300_DT0_WT0", const Int_t nlmMin=1, const Int_t nlmMax=2, const Bool_t simpleM02Cut=kFALSE, const Bool_t simpleMassCut=kFALSE, const Double_t massPi0Min=0.11, const Double_t massPi0Max=0.18, const Bool_t recaltm=kFALSE, const Bool_t tm=kTRUE, const Int_t minCen=-1, const Int_t maxCen=-1, const Bool_t calibE=kTRUE, const Bool_t badmap=kTRUE, const Bool_t calibT=kTRUE, const Bool_t tender=kFALSE, const Bool_t outputAOD=kFALSE, const Bool_t printSettings=kFALSE, const Int_t runNumber=-1, const Bool_t isPhosCali=kTRUE, const Bool_t isCentFlat=kFALSE, const Int_t debug=0)
TString kData
Declare data MC or deltaAOD.
virtual void SwitchOnAODHybridTrackSelection()
virtual void SetCentralityBin(Int_t min, Int_t max)
void SwitchOnV0ANDSelection()
AliEMCALRecoUtils * GetEMCALRecoUtils() const
Bool_t kEventSelection
Remove bad events.
void SwitchOffClusterRecalculation()
void SetEMCALParametrizedMinTimeCut(Int_t i, Float_t par)
void SetTimeCut(Double_t min, Double_t max)
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
void SwitchOffSplitShowerShapeCut()
Bool_t kNonLinearity
Correct cluster non linearity.
void SetClusterSplittingMinNCells(Int_t c)
void SwitchOffClusterPlot()
void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n)
AliAnaPi0Flow * ConfigurePi0Flow()
virtual void SetInputAODName(TString name)
virtual void SetTrackComplementaryCuts(AliESDtrackCuts *)
void SwitchOffUseTrackDCACut()
void SetEMCALEMin(Float_t en)
void SwitchOffPHOSCells()
void SwitchOnSelectedClusterHistoFill()
virtual void SetDebug(Int_t d)
virtual void SetOutputAODClassName(TString name)
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnRunDepCorrection()
void SetLocalMaximaCutEDiff(Float_t c)
void SwitchOffSplitAsymmetryCut()
void SetAnalysisType(anaTypes ana)
Int_t kMinCen
Set the minimum centrality to be analyzed.
void SetNumberOfCellsFromEMCALBorder(Int_t n)
void SwitchOffTMHistoFill()
virtual void SwitchOnFillPileUpHistograms()
Select cluster pairs or single merged clusters with pi0 or eta invariant mass.
Bool_t IsBadChannelsRemovalSwitchedOn() const
TString kInputDataType
Declare data ESD/AOD.
void SwitchOffPileUpEventRejection()
2 calorimeter clusters invariant mass selection
const TString calorimeter
void IsCentFlat(Bool_t e)
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
Bool_t IsRecalibrationOn() const
Bool_t IsRecalibrationOn() const
Some utilities for cluster and cell treatment.
Bool_t kPrint
Print setted parameters when configuring.
void SwitchOnWriteDeltaAOD()
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.
void SwitchOffEMCALCells()
Class for event, clusters and tracks filtering and preparation for the AOD analysis.
void SetCTSPtMin(Float_t pt)
virtual void SetPairTimeCut(Float_t t)
virtual void SetOutputAODName(TString name)
void SwitchOffRecalculateClusterTrackMatching()
void SetEMCALParametrizedMaxTimeCut(Int_t i, Float_t par)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOffVertexBCEventSelection()
virtual void SetCalorimeter(TString calo)
Set the calorimeter for the analysis. A string.
1 calorimeter cluster and 1 photon conversion pair invariant mass selection
void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n)
Bool_t kCentFlat
Switch on Centrality flattening.
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 AliHistogramRanges * GetHistogramRanges()
void SwitchOnSplitAsymmetryCut()
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
AliCalorimeterUtils * ConfigureCaloUtils()
Bool_t kRecalTM
Recalculate track-cluster matching.
void SetTrackStatus(ULong_t bit)
void SwitchOnUseEMCALTimeCut()
void SetPi0MassShiftHighECell(Float_t s)
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
Class for filtering generated MC particles and prepare them as input for the analysis.
void SwitchOnSplitClusterDistToBad()
void SwitchOnRecalculateClusterTrackMatching()
Bool_t kCalibT
Calibrate time of clusters.
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Bool_t kTM
Remove matched clusters to tracks.
void SetEMCALClusterListName(TString name)
void SwitchOffTrackMatchRejection()
Base class for event, clusters and tracks filtering and preparation for the analysis.
void SetHistoRangeAndNBins(AliHistogramRanges *histoRanges)
void SetInputAODGammaConvName(TString name)
void SetHistoNClusterCellRangeAndNBins(Int_t min, Int_t max, Int_t n)
TString kCalorimeter
Use main analysis detector EMCal or PHOS or CTS.
void SwitchOnCorrectClusterLinearity()
void SetHistoYRangeAndNBins(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.
void SwitchOffUseTrackTimeCut()
void SwitchOnSimpleSplitMassCut()
virtual AliCaloPID * GetCaloPID()
void SwitchOffTriggerPatchMatching()
virtual void SetZvertexCut(Float_t zcut=10.)
void SwitchOffRejectNoTrackEvents()
void SetEtaMassRange(Float_t min, Float_t max)
void SetNumberOfSuperModulesUsed(Int_t nSM)
void SwitchOnTMHistoFill()
void SwitchOnClusterRecalculation()
void SetPi0MassRange(Float_t min, Float_t max)
Class containing more common histogram axis types.
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
virtual void SwitchOnAliCentrality()
virtual void SetMinEnergy(Float_t e)
void SwitchOnTrackMatchRejection()
void IsPHOSCali(Bool_t e)
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
Bool_t kTender
Declare that tender was executed.
virtual void SetEventPlaneMethod(TString m)
void SetPHOSEMin(Float_t en)
Bool_t kBadMap
Reject bad cells/clusters.
void SetHistoNClustersRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetTrackCuts(AliESDtrackCuts *)
TString kCollisions
Declare the collision type of the data.
void SetNLMCut(Int_t min, Int_t max)
Int_t kDebug
Do the analysis with this debug level.
virtual void SetCentralityClass(TString name)
Int_t kYears
Declare the year of the data.
TString kClusterArray
Name of branch with clusters, from AliAnalysisTaskEMCALClusterize.
void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOffFillWeightHistograms()
void SetTrackTimeCut(Double_t a, Double_t b)
void SetEMCALTimeCut(Double_t a, Double_t b)
AliCaloTrackReader * ConfigureReader()
void SetHistoAsymmetryRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistoV0MultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
Main class conecting the CaloTrackCorrelations package and Analysis Frame.
void SwitchOffLoadOwnPHOSGeometryMatrices()
Bool_t kOutputAOD
Create output AOD with generated particle AOD objects.
Bool_t kCalibE
Calibrate energy of clusters.
void SwitchOffRecalculateVertexBC()
void SwitchOnUseParametrizedTimeCut()
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 SetEMCALEMax(Float_t en)
Bool_t kSimulation
Declare the analysis simulation.
Class for PID selection with calorimeters.
1 calorimeter cluster shower shape and split invariatn mass selection
void SetNLMMinEnergy(Int_t i, Float_t min)
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
Bool_t kExotic
Remove exotic clusters.
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 SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n)
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 SetPhotonMassRange(Float_t min, Float_t max)
void SwitchOffUseParametrizedTimeCut()
void SetLocalMaximaCutE(Float_t cut)
TString kName
Name of the analysis, used in created AOD branches and histo container.
Int_t kMaxCen
Set the maximum centrality to be analyzed.
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
Steering class of package CaloTrackCorrelartions.
void SwitchOnSimpleSplitM02Cut()