37 Bool_t simulation = kFALSE,
40 TString trigger =
"EMC7",
41 Int_t rejectEMCTrig = 0,
42 TString clustersArray =
"",
43 Bool_t tender = kFALSE,
44 Bool_t nonLinOn = kFALSE,
45 Float_t shshMax = 0.5,
50 TString outputfile =
"",
51 Bool_t printSettings = kFALSE,
58 printf(
"Passed settings:\n calorimeter <%s>, simulation <%d>, year <%d>,\n col <%s>, trigger <%s>, reject EMC <%d> clustersArray <%s>, tender <%d>, non linearity <%d>\n shshMax <%2.2f>, tm %d, minCen %d, maxCen %d, mixOn <%d>,\n outputfile <%s>, printSettings <%d>, debug <%d>\n",
59 calorimeter.Data(),simulation,year,col.Data(),trigger.Data(), rejectEMCTrig, clustersArray.Data(),tender, nonLinOn, shshMax,tm,
60 minCen,maxCen,mixOn,outputfile.Data(),printSettings,debug);
62 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
65 ::Error(
"AddTask",
"No analysis manager to connect to.");
71 if (!mgr->GetInputEventHandler())
73 ::Error(
"AddTask",
"This task requires an input event handler");
78 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
82 kAnaPi0 = Form(
"Pi0_%s_Trig%s_Col_%s_Year%d_Cl%s_Ten%d_TM%d_M02_%1.2f_Mix%d",
83 calorimeter.Data(),trigger.Data(),col.Data(),year,clustersArray.Data(),tender,
86 if(col==
"PbPb" && maxCen>=0)
kAnaPi0+=Form(
"Cen%d_%d",minCen,maxCen);
88 printf(
"<<<< NAME: %s >>>>>\n",
kAnaPi0.Data());
95 maker->SetReader (
ConfigureReader (col,simulation,clustersArray,tender,
calorimeter,nonLinOn,trigger,rejectEMCTrig,minCen,maxCen,printSettings,debug) );
96 maker->SetCaloUtils(
ConfigureCaloUtils(col,simulation,clustersArray,tender,nonLinOn,year, printSettings,debug) );
109 maker->SetAnaDebug(debug) ;
111 maker->SwitchOnHistogramsMaker() ;
112 maker->SwitchOnAODsMaker() ;
114 maker->SwitchOffDataControlHistograms();
115 if(rejectEMCTrig) maker->SwitchOnDataControlHistograms();
117 if(printSettings) maker->Print(
"");
119 printf(
"<< End Configuration of %d analysis for calorimeter %s >>\n",n,
calorimeter.Data());
125 task->SetDebugLevel(debug);
130 task->SetAnalysisMaker(maker);
136 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
138 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(
kAnaPi0, TList::Class(),
139 AliAnalysisManager::kOutputContainer,
140 Form(
"%s",outputfile.Data()));
142 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",
kAnaPi0.Data()), TList::Class(),
143 AliAnalysisManager::kParamContainer,
144 "AnalysisParameters.root");
149 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
151 mgr->ConnectOutput (task, 1, cout_pc);
152 mgr->ConnectOutput (task, 2, cout_cuts);
157 task->SelectCollisionCandidates(mask);
167 TString clustersArray, Bool_t tender,
169 TString trigger, Bool_t rejectEMCTrig,
170 Int_t minCen, Int_t maxCen,
171 Bool_t printSettings, Int_t debug )
174 AliAnalysisManager * mgr = AliAnalysisManager::GetAnalysisManager();
175 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
180 else printf(
"AliCaloTrackReader::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
188 Bool_t useKinematics = kFALSE;
189 useKinematics = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
193 if (!useKinematics && inputDataType==
"AOD") useKinematics = kTRUE;
198 if(inputDataType ==
"ESD")
203 else if(inputDataType ==
"AOD")
261 if(inputDataType==
"ESD")
263 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
268 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
270 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
275 else if(inputDataType==
"AOD")
289 if(clustersArray ==
"" && !tender)
291 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
297 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
319 if(calorimeter ==
"EMCAL")
325 if(calorimeter ==
"PHOS")
341 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
343 printf(
"=== Remove bad triggers === \n");
364 if(clustersArray !=
"" || tender)
366 printf(
"Trigger cluster calibration OFF\n");
391 if(printSettings) reader->
Print(
"");
400 TString clustersArray, Bool_t tender,
401 Bool_t nonLinOn, Int_t year,
402 Bool_t printSettings, Int_t debug)
445 Bool_t calibEner = kFALSE;
446 Bool_t calibTime = kFALSE;
468 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
477 if( calibTime ) recou->SetExoticCellDiffTimeCut(50);
481 printf(
"ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",recou->IsRecalibrationOn(), cu->
IsRecalibrationOn());
487 if(printSettings) cu->
Print(
"");
498 Int_t tm, Float_t shshMax,
499 Bool_t printSettings, Int_t debug)
520 if(calorimeter ==
"PHOS")
585 Int_t tm, Bool_t mixOn,
586 Bool_t printSettings, Int_t debug)
617 else if(col ==
"PbPb")
625 else if(collision ==
"pPb")
645 if(printSettings) ana->
Print(
"");
658 TString col, Bool_t simulation,
659 Bool_t printSettings, Int_t debug)
668 if(calorimeter==
"EMCAL")
676 else if ( year < 2014 )
691 else if(calorimeter==
"PHOS")
696 else if(calorimeter==
"CTS")
756 else if(year == 2012 ||
772 if(printSettings) ana->
Print(
"");
785 printf(
"CaloTrackCorr trigger EMC7\n");
786 return AliVEvent::kEMC7;
788 else if (trigger==
"INT7")
790 printf(
"CaloTrackCorr trigger INT7\n");
791 return AliVEvent::kINT7;
793 else if(trigger==
"EMC1")
795 printf(
"CaloTrackCorr trigger EMC1\n");
796 return AliVEvent::kEMC1;
798 else if(trigger==
"MB")
800 printf(
"CaloTrackCorr trigger MB\n");
801 return AliVEvent::kMB;
803 else if(trigger==
"PHOS")
805 printf(
"CaloTrackCorr trigger PHOS\n");
806 return AliVEvent::kPHI7;
808 else if(trigger==
"PHOSPb")
810 printf(
"CaloTrackCorr trigger PHOSPb\n");
811 return AliVEvent::kPHOSPb;
813 else if(trigger==
"AnyINT")
815 printf(
"CaloTrackCorr trigger AnyINT\n");
816 return AliVEvent::kAnyINT;
818 else if(trigger==
"INT")
820 printf(
"CaloTrackCorr trigger AnyINT\n");
821 return AliVEvent::kAny;
823 else if(trigger==
"EMCEGA")
825 printf(
"CaloTrackCorr trigger EMC Gamma\n");
826 return AliVEvent::kEMCEGA;
828 else if(trigger==
"EMCEJE")
830 printf(
"CaloTrackCorr trigger EMC Jet\n");
831 return AliVEvent::kEMCEJE;
833 else if(trigger==
"Central")
835 printf(
"CaloTrackCorr trigger Central\n");
836 return AliVEvent::kCentral;
838 else if(trigger==
"CentralEGA")
840 printf(
"CaloTrackCorr trigger Central+EMCEGA\n");
841 return (AliVEvent::kCentral | AliVEvent::kEMCEGA);
843 else if(trigger==
"SemiCentral")
845 printf(
"CaloTrackCorr trigger SemiCentral\n");
846 return AliVEvent::kSemiCentral;
848 else if(trigger==
"SemiOrCentral")
850 printf(
"CaloTrackCorr trigger SemiCentral Or Central\n");
851 return (AliVEvent::kSemiCentral | AliVEvent::kCentral);
853 else return AliVEvent::kAny;
void SwitchOnBadChannelsRemoval()
virtual void SwitchOnAODTrackSharedClusterSelection()
void SetHistoTrackMultiplicityRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetDebug(Int_t d)
void SetNumberOfCellsFromPHOSBorder(Int_t n)
void SwitchOffRunDepCorrection()
virtual void SetMaxEnergy(Float_t e)
void SwitchOnFillOriginHisto()
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)
virtual void SwitchOnFiducialCut()
void SwitchOnRejectNoTrackEvents()
void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnTrackMatchRejection()
void SwitchOnLoadOwnEMCALGeometryMatrices()
void SwitchOnTMHistoFill()
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)
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
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.
AliAnalysisTaskCaloTrackCorrelation * AddTaskPi0(TString calorimeter="EMCAL", Bool_t simulation=kFALSE, Int_t year=2011, TString col="pp", TString trigger="EMC7", Int_t rejectEMCTrig=0, TString clustersArray="", Bool_t tender=kFALSE, Bool_t nonLinOn=kFALSE, Float_t shshMax=0.5, Bool_t tm=kTRUE, Int_t minCen=-1, Int_t maxCen=-1, Bool_t mixOn=kTRUE, TString outputfile="", Bool_t printSettings=kFALSE, Int_t debug=0)
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 SwitchOnTriggerPatchMatching()
virtual void SetDebug(Int_t d)
virtual void SetOutputAODClassName(TString name)
void SwitchOffMultipleCutAnalysis()
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnAODMCParticles()
void SwitchOnRunDepCorrection()
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 SwitchOffPileUpEventRejection()
const TString calorimeter
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
virtual void SetPtHardAndJetPtComparison(Bool_t compare)
Bool_t IsRecalibrationOn() const
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()
virtual void SwitchOffDataMC()
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 SwitchOffVertexBCEventSelection()
virtual void SetPtHardAndClusterPtFactor(Float_t factor)
Base class for CaloTrackCorr analysis algorithms.
void SwitchOffTrackMatchRejection()
void SwitchOffRecalibration()
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 SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SetNZvertBin(Int_t n=1)
void SetTrackStatus(ULong_t bit)
void SwitchOnUseEMCALTimeCut()
TString kAnaPi0
Global name to be composed of the settings, used to set the AOD branch name.
AliAnaPi0 * ConfigurePi0Analysis(TString col, Bool_t simulation, TString calorimeter, Int_t year, Int_t tm, Bool_t mixOn, Bool_t printSettings, Int_t debug)
Bool_t IsBadChannelsRemovalSwitchedOn() const
Filter EMCal/PHOS clusters for photon analysis.
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
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)
virtual void SwitchOnOwnMix()
virtual void SetPtHardAndClusterPtComparison(Bool_t compare)
void SwitchOffTriggerClusterTimeRecal()
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 SwitchOffBadTriggerEventsRemoval()
void SetEMCALClusterListName(TString &name)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Int_t GetNumberOfSuperModulesUsed() const
void SwitchOnCorrectClusterLinearity()
void SetHistoYRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetTimeCut(Double_t min, Double_t max)
void SetAnalysisCommonParameters(AliAnaCaloTrackCorrBaseClass *ana, TString calorimeter, Int_t year, TString col, Bool_t simulation, Bool_t printSettings, Int_t debug)
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOffUseTrackTimeCut()
virtual AliCaloPID * GetCaloPID()
void SwitchOffTriggerPatchMatching()
virtual void SetZvertexCut(Float_t zcut=10.)
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 SetMinEnergy(Float_t e)
virtual void SetNCentrBin(Int_t n=1)
Number of bins in reaction plain.
virtual void SetPtHardAndJetPtFactor(Float_t factor)
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
AliAnaPhoton * ConfigurePhotonAnalysis(TString col, Bool_t simulation, TString calorimeter, Int_t year, Int_t tm, Float_t shshMax, Bool_t printSettings, Int_t debug)
virtual void SetEventPlaneMethod(TString m)
void SetNAsymCuts(Int_t s)
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)
UInt_t SetTriggerMaskFromName(TString trigger)
virtual void SetTrackCuts(AliESDtrackCuts *)
virtual void SetCentralityClass(TString name)
void SwitchOnFillShowerShapeHistograms()
void SwitchOnBadTriggerEventsRemoval()
void SetHistoEtaRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnClusterELinearityCorrection()
void SetTrackTimeCut(Double_t a, Double_t b)
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)
Main class conecting the CaloTrackCorrelations package and Analysis Frame.
void SwitchOffLoadOwnPHOSGeometryMatrices()
void SwitchOffRecalculateVertexBC()
void SetHistoZRangeAndNBins(Float_t min, Float_t max, Int_t n)
AliCalorimeterUtils * ConfigureCaloUtils(TString col, Bool_t simulation, TString clustersArray, Bool_t tender, Bool_t nonLinOn, Int_t year, Bool_t printSettings, Int_t debug)
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 SetHistoFinePtRangeAndNBins(Float_t min, Float_t max, Int_t n)
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 SetPHOSEMin(Float_t e)
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetHistodEdxRangeAndNBins(Float_t min, Float_t max, Int_t n)
Class with utils specific to calorimeter clusters/cells.
virtual void SwitchOnConstrainTrackToVertex()
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()
virtual void SwitchOffOwnMix()
void SetHistoVertexDistRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALEMax(Float_t e)
void SetHistoDiffTimeRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetEMCALDEtaCut(Float_t dcut)
void SwitchOffUseParametrizedTimeCut()
void SetLocalMaximaCutE(Float_t cut)
virtual void SetMinPt(Float_t pt)
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetNLMCut(Int_t min, Int_t max)
Int_t GetFirstSMCoveredByTRD() const
Time cut in ns.
Steering class of package CaloTrackCorrelartions.