52 const Int_t maxNLMcut = 2,
53 const Bool_t timecut = kFALSE,
55 const Bool_t simulation = kFALSE,
56 const Bool_t eventsel = kFALSE,
57 const Bool_t exotic = kTRUE,
58 const Bool_t nonlin = kFALSE,
61 const TString firedTrigger =
"EG1",
62 const TString clustersArray =
"V1",
65 const Int_t minCen = -1,
66 const Int_t maxCen = -1,
67 const TString jetBranchName =
"clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00",
68 const TString jetBkgBranchName =
"jeteventbackground_clustersAOD_KT04_B0_Filter00768_Cut00150_Skip00",
70 const Float_t minDeltaPhi = 1.5,
71 const Float_t maxDeltaPhi = 4.5,
75 const Bool_t printSettings = kFALSE,
83 ::Error(
"AddTask",
"No analysis manager to connect to.");
89 if (!mgr->GetInputEventHandler())
91 ::Error(
"AddTask",
"This task requires an input event handler");
96 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
99 TString deltaAODJetName =
"AliAOD.Jets.root";
100 if(deltaAODJetName.Length()!=0)
104 mgr->RegisterExtraFile(deltaAODJetName.Data());
105 cout<<
"Jet file registered "<<endl;
106 cout<<
"Extra files: "<<mgr->GetExtraFiles()<<endl;
109 Bool_t useKinematics = kFALSE;
110 useKinematics = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
116 kGammaJetCorrelationName = Form(
"%s_Trig%s_Fired%s_Cl%s_TM%d_l02%1.2f",
calorimeter.Data(), trigger.Data(),firedTrigger.Data(),clustersArray.Data(),tm,maxLambda0Cut);
118 if(collision==
"PbPb" && maxCen>=0) kGammaJetCorrelationName+=Form(
"Cen%d_%d",minCen,maxCen);
120 printf(
"<<<< NAME: %s >>>>>\n",kGammaJetCorrelationName.Data());
125 printf(
"SCALE FACTOR %e\n",scaleFactor);
126 maker->SetScaleFactor(scaleFactor);
129 maker->SetReader (
ConfigureReader(mgr->GetInputEventHandler()->GetDataType(),
calorimeter,useKinematics,simulation,eventsel,nonlin,timecut,collision,trigger,firedTrigger,clustersArray,jetBranchName,jetBkgBranchName,mix,minCen,maxCen,
debug,printSettings) );
130 maker->SetCaloUtils(
ConfigureCaloUtils(clustersArray,collision,nonlin,exotic,simulation,timecut,debug,printSettings));
142 maker->AddAnalysis(
ConfigureIsolationAnalysis(
calorimeter,collision,
"Photon", partInCone,thresType, isoCone, isoPth,tm,kFALSE,simulation,debug,printSettings), n++);
143 maker->AddAnalysis(
ConfigurePhotonJetAnalysis(
calorimeter,isoCone,jetMinPt,minDeltaPhi,maxDeltaPhi,minPtRatio,maxPtRatio,simulation,debug,printSettings), n++);
145 maker->SetAnaDebug(debug) ;
146 maker->SwitchOnHistogramsMaker() ;
150 if(printSettings) maker->Print(
"");
152 printf(
"<< End Configuration of %d analysis for calorimeter %s >>\n",n,
calorimeter.Data());
156 task->SetConfigFileName(
"");
157 task->SetDebugLevel(debug);
158 task->SetBranches(
"ESD:AliESDRun.,AliESDHeader");
159 task->SetAnalysisMaker(maker);
165 TString outputfile = AliAnalysisManager::GetCommonFileName();
167 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(kGammaJetCorrelationName, TList::Class(),
168 AliAnalysisManager::kOutputContainer,
169 Form(
"%s",outputfile.Data()));
171 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",kGammaJetCorrelationName.Data()), TList::Class(),
172 AliAnalysisManager::kParamContainer,
173 "AnalysisParameters.root");
178 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
181 mgr->ConnectOutput (task, 1, cout_pc);
182 mgr->ConnectOutput (task, 2, cout_cuts);
187 task->SelectCollisionCandidates(mask);
208 if (!useKinematics && inputDataType==
"AOD") useKinematics = kTRUE;
211 cout<<
"********* ACCESS KINE? "<<useKinematics<< endl;
218 else printf(
"AliCaloTrackReader::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
265 if(jetBkgBranchName.Length()!=0) {
287 printf(
"Set time cut \n");
294 printf(
"Off time cuts time cut \n");
349 if(inputDataType==
"ESD")
351 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
353 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
355 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
364 else if(inputDataType==
"AOD")
374 if(clustersArray ==
"" && !useTender)
376 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
382 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
413 if(collision ==
"pPb" && trigger==
"EMCEGA") {
423 reader->SetEventTriggerMaks(mask);
425 reader->SetMixEventTriggerMaks(AliVEvent::kAnyINT);
427 printf(
"---Trigger selection done in AliCaloTrackReader!!!\n");
447 if(collision==
"PbPb")
458 if(printSettings) reader->
Print(
"");
479 if(collision==
"pp" || collision==
"pPb")
517 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
545 printf(
"*** SET cluster non linearity correction ***\n");
550 printf(
"ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",recou->IsRecalibrationOn(), cu->
IsRecalibrationOn());
558 if(printSettings) cu->
Print(
"");
640 ana->
SetInputAODName(Form(
"Photon%s",kGammaJetCorrelationName.Data()));
653 if(printSettings) ana->
Print(
"");
671 Bool_t printSettings = kFALSE)
682 if(particle==
"Hadron" || particle.Contains(
"CTS"))
694 ana->
SetInputAODName(Form(
"%s%s",particle.Data(),kGammaJetCorrelationName.Data()));
695 ana->
SetAODObjArrayName(Form(
"IC%s_%s",particle.Data(),kGammaJetCorrelationName.Data()));
712 if(cone >0 && pth > 0)
730 if(collision==
"PbPb")
780 if(particle==
"Hadron" || particle.Contains(
"CTS"))
788 if(printSettings) ic ->
Print(
"");
789 if(printSettings) ana->
Print(
"");
869 printf(
"CaloTrackCorr trigger EMC7\n");
870 return AliVEvent::kEMC7;
872 else if (trigger==
"INT7")
874 printf(
"CaloTrackCorr trigger INT7\n");
875 return AliVEvent::kINT7;
877 else if(trigger==
"EMC1")
879 printf(
"CaloTrackCorr trigger EMC1\n");
880 return AliVEvent::kEMC1;
882 else if(trigger==
"MB")
884 printf(
"CaloTrackCorr trigger MB\n");
885 return AliVEvent::kMB;
887 else if(trigger==
"PHOS")
889 printf(
"CaloTrackCorr trigger PHOS\n");
890 return AliVEvent::kPHI7;
892 else if(trigger==
"PHOSPb")
894 printf(
"CaloTrackCorr trigger PHOSPb\n");
895 return AliVEvent::kPHOSPb;
897 else if(trigger==
"AnyINT")
899 printf(
"CaloTrackCorr trigger AnyINT\n");
900 return AliVEvent::kAnyINT;
902 else if(trigger==
"INT")
904 printf(
"CaloTrackCorr trigger AnyINT\n");
905 return AliVEvent::kAny;
907 else if(trigger==
"EMCEGA")
909 printf(
"CaloTrackCorr trigger EMC Gamma\n");
910 return AliVEvent::kEMCEGA;
912 else if(trigger==
"EMCEJE")
914 printf(
"CaloTrackCorr trigger EMC Jet\n");
915 return AliVEvent::kEMCEJE;
917 else if(trigger==
"Central")
919 printf(
"CaloTrackCorr trigger Central\n");
920 return AliVEvent::kCentral;
922 else if(trigger==
"CentralEGA")
924 printf(
"CaloTrackCorr trigger Central+EMCEGA\n");
925 return (AliVEvent::kCentral | AliVEvent::kEMCEGA);
927 else if(trigger==
"SemiCentral")
929 printf(
"CaloTrackCorr trigger SemiCentral\n");
930 return AliVEvent::kSemiCentral;
932 else if(trigger==
"SemiOrCentral")
934 printf(
"CaloTrackCorr trigger SemiCentral Or Central\n");
935 return (AliVEvent::kSemiCentral | AliVEvent::kCentral);
937 else if(trigger==
"SemiOrCentralOrAnyINT")
939 printf(
"CaloTrackCorr trigger SemiCentral Or Central Or AnyINT\n");
940 return (AliVEvent::kSemiCentral | AliVEvent::kCentral | AliVEvent::kAnyINT);
956 ana->
SetInputAODName(Form(
"%s%s",particle.Data(),kGammaJetCorrelationName.Data()));
void SwitchOnBadChannelsRemoval()
void SetSumPtThresholds(Int_t i, Float_t pt)
void SetPtThreshold(Float_t pt)
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 SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
virtual void SetInputBackgroundJetBranchName(TString name)
void SwitchOffSSHistoFill()
void SwitchOnMostOpposite()
void SetHistoMassRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void AddToHistogramsName(TString add)
void SwitchOffBackgroundJets()
void SwitchOnTMHistoFill()
virtual void SwitchOnFiducialCut()
void SwitchOnRejectNoTrackEvents()
void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnTrackMatchRejection()
AliCaloTrackReader * ConfigureReader(TString inputDataType="AOD", TString calorimeter="EMCAL", Bool_t useKinematics=kFALSE, Bool_t simulation=kFALSE, Bool_t eventsel=kFALSE, Bool_t nonlin=kTRUE, Bool_t timecut=kFALSE, TString collision="pp", TString trigger="MB", TString firedTrigger="EG1", TString clustersArray="V1", TString jetBranchName="jets", TString jetBkgBranchName="jets", Bool_t mix=kFALSE, Float_t minCen=-1, Float_t maxCen=-1, Int_t debug=-1, Bool_t printSettings=kFALSE)
void SwitchOnLoadOwnEMCALGeometryMatrices()
void SwitchOnTMHistoFill()
Class with utils to perform Isolation Cuts.
virtual void SwitchOnAODHybridTrackSelection()
virtual void SetCentralityBin(Int_t min, Int_t max)
void SwitchOnV0ANDSelection()
AliEMCALRecoUtils * GetEMCALRecoUtils() const
void SwitchOffClusterRecalculation()
virtual void SwitchOnDataMC()
void SetConeSize(Float_t r)
void SwitchOffBackgroundSubtractionGamma()
void SetPtFraction(Float_t pt)
void FillNPrimaryHistograms(Int_t n)
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
void SetHistoRangeAndNBins(AliHistogramRanges *histoRanges, TString calorimeter="EMCAL")
void SwitchOffClusterPlot()
void SetHistoPtRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnPileUpEventRejection()
virtual void SetInputAODName(TString name)
AliAnalysisTaskCaloTrackCorrelation * AddTaskGammaJetCorrelation(const Float_t isoCone=0.4, const Float_t isoPth=0.5, const Double_t maxLambda0Cut=0.5, const Int_t maxNLMcut=2, const Bool_t timecut=kFALSE, 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 TString collision="pp", const TString trigger="MB", const TString firedTrigger="EG1", const TString clustersArray="V1", const Bool_t mix=kTRUE, const Bool_t tm=kTRUE, const Int_t minCen=-1, const Int_t maxCen=-1, const TString jetBranchName="clustersAOD_ANTIKT04_B0_Filter00272_Cut00150_Skip00", const TString jetBkgBranchName="jeteventbackground_clustersAOD_KT04_B0_Filter00768_Cut00150_Skip00", const Float_t jetMinPt=0, const Float_t minDeltaPhi=1.5, const Float_t maxDeltaPhi=4.5, const Float_t minPtRatio=0, const Float_t maxPtRatio=5, const Int_t debug=-1, const Bool_t printSettings=kFALSE, const Double_t scaleFactor=-1)
virtual void SetTrackComplementaryCuts(AliESDtrackCuts *)
virtual AliIsolationCut * GetIsolationCut()
void SetEMCALEMin(Float_t en)
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
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 SwitchOnNonStandardJets()
void SetNCones(Int_t ncs)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SetSumPtThreshold(Float_t s)
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnRunDepCorrection()
void SetLocalMaximaCutEDiff(Float_t c)
void SetNumberOfCellsFromEMCALBorder(Int_t n)
void SwitchOffSeveralIsolation()
void SetNCellCut(Int_t n)
void SetMakeCorrelationInHistoMaker(Bool_t make)
void SetConeSize(Float_t cone)
void SetPtFractions(Int_t i, Float_t pt)
void SwitchOffPileUpEventRejection()
const TString calorimeter
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
virtual void SetPtHardAndJetPtComparison(Bool_t compare)
Bool_t IsRecalibrationOn() const
void SetNPtThresFrac(Int_t npt)
Some utilities for cluster and cell treatment.
AliAnaParticleIsolation * ConfigureIsolationAnalysis(TString calorimeter="EMCAL", TString collision="pp", TString particle="Photon", Int_t partInCone=AliIsolationCut::kOnlyCharged, Int_t thresType=AliIsolationCut::kSumPtFracIC, Float_t cone=0.3, Float_t pth=0.3, Bool_t tm=kFALSE, Bool_t multi=kFALSE, Bool_t simulation=kFALSE, Int_t debug=-1, Bool_t printSettings=kFALSE)
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.
virtual void SwitchOffDataMC()
void SwitchOffEventTriggerAtSE()
void SwitchOnSeveralIsolation()
void SetCTSPtMin(Float_t pt)
void SetPHOSRCut(Float_t rcut)
void SetEMCALDPhiCut(Float_t dcut)
void SetJetMinPt(Double_t minpt)
virtual void SetOutputAODName(TString name)
void SwitchOffRecalculateClusterTrackMatching()
void SetICMethod(Int_t i)
void SetJetConeSize(Double_t cone)
void SwitchOffVertexBCEventSelection()
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 SetGammaConeSize(Float_t cone)
void SwitchOffTrackMatchRejection()
void SwitchOnSaveGJTree()
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 SwitchOffFillPileUpHistograms()
virtual AliFiducialCut * GetFiducialCut()
virtual void SetCentralityOpt(Int_t opt)
void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
virtual AliHistogramRanges * GetHistogramRanges()
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetTrackStatus(ULong_t bit)
void SwitchOnUseEMCALTimeCut()
AliCalorimeterUtils * ConfigureCaloUtils(TString clustersArray="V1", TString collision="pp", Bool_t nonlin=kTRUE, Bool_t exotic=kTRUE, Bool_t simulation=kFALSE, Bool_t timecut=kFALSE, Int_t debug=-1, Bool_t printSettings=kFALSE)
Bool_t IsBadChannelsRemovalSwitchedOn() const
Filter EMCal/PHOS clusters for photon analysis.
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetConeSizes(Int_t i, Float_t r)
void SetPtThresholdInCone(Float_t pt)
void SetJetAreaFraction(Double_t areafr)
AliAnaParticleJetFinderCorrelation * ConfigurePhotonJetAnalysis(TString calorimeter="EMCAL", Float_t gammaConeSize=0.3, Float_t jetMinPt=0, Float_t minDeltaPhi=1.5, Float_t maxDeltaPhi=4.5, Float_t minPtRatio=0, Float_t maxPtRatio=5, Bool_t simulation=kFALSE, Int_t debug=-1, Bool_t printSettings=kFALSE)
void SwitchOnBackgroundJetFromReader()
void SetExoticCellDiffTimeCut(Float_t dt)
TString kGammaJetCorrelationName
Global name to be composed of the settings, used to set the AOD branch name.
virtual void SetPtHardAndClusterPtComparison(Bool_t compare)
void SetEMCALClusterListName(TString name)
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 SwitchOnCorrectClusterLinearity()
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SetHistoYRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetTimeCut(Double_t min, Double_t max)
virtual void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SwitchOffUseTrackTimeCut()
virtual AliCaloPID * GetCaloPID()
void SelectIsolated(Bool_t select)
virtual void SwitchOnFiducialCut()
void SwitchOffTriggerPatchMatching()
virtual void SetZvertexCut(Float_t zcut=10.)
void SwitchOffBadChannelsRemoval()
void SetNumberOfSuperModulesUsed(Int_t nSM)
void SwitchOnClusterRecalculation()
void SwitchOffReIsolation()
Class containing more common histogram axis types.
void SetEMCALLambda0CutMax(Float_t lcut)
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
virtual void SetMinEnergy(Float_t e)
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 SetPHOSDispersionCut(Float_t dcut)
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
virtual void SetTrackCuts(AliESDtrackCuts *)
void SwitchOnBackgroundJets()
virtual void SetCentralityClass(TString name)
void SwitchOnFillShowerShapeHistograms()
Select clusters/tracks with low particle environment in their vecinity, isolated within a cone...
AliAnaPhoton * ConfigurePhotonAnalysis(TString calorimeter="EMCAL", Bool_t tm=kFALSE, Bool_t simulation=kFALSE, Double_t maxLambda0Cut=0.5, Int_t maxNLMcut=2, Int_t debug=-1, Bool_t printSettings=kFALSE)
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 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 SwitchOffRecalculateVertexBC()
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)
Class for PID selection with calorimeters.
void FillNOriginHistograms(Int_t n)
void SetFiredTriggerClassName(TString name)
void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n)
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 UseJetRefTracks(Bool_t use)
virtual void SetInputNonStandardJetBranchName(TString name)
void SetEMCALLambda0CutMin(Float_t lcut)
void SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SwitchOffFiducialCut()
void SwitchOnEventTriggerAtSE()
void SetParticleTypeInCone(Int_t i)
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 SetPtThresholds(Int_t i, Float_t pt)
virtual void SetMinPt(Float_t pt)
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
UInt_t SetTriggerMaskFromName(TString trigger)
void ConfigureMC(AliAnaCaloTrackCorrBaseClass *ana, Bool_t simulation=kFALSE)
void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
void SetNLMCut(Int_t min, Int_t max)
void SwitchOffTMHistoFill()
Steering class of package CaloTrackCorrelartions.