47 Bool_t simulation = kFALSE,
50 TString trigger =
"EMC7",
51 Int_t rejectEMCTrig = 0,
52 TString clustersArray =
"",
53 Bool_t tender = kFALSE,
54 Bool_t nonLinOn = kFALSE,
57 TString outputfile =
"",
58 Bool_t printSettings = kFALSE,
65 printf(
"Passed settings:\n simulation <%d>, year <%d>,\n col <%s>, trigger <%s>, reject EMC <%d>, clustersArray <%s>, tender <%d>, non linearity <%d>\n, minCen <%d>, maxCen <%d>,\n, outputfile <%s>, printSettings <%d>, debug <%d>\n",
66 simulation,year,col.Data(),trigger.Data(), rejectEMCTrig, clustersArray.Data(),tender, nonLinOn,
67 minCen,maxCen,outputfile.Data(),printSettings,debug);
69 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
72 ::Error(
"AddTask",
"No analysis manager to connect to.");
78 if (!mgr->GetInputEventHandler())
80 ::Error(
"AddTask",
"This task requires an input event handler");
85 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
89 kAnaMergedPi0 = Form(
"MergedPi0_Trig%s_Col_%s_Year%d_Cl%s_Ten%d",
90 trigger.Data(),col.Data(),year,clustersArray.Data(),tender);
92 if(col==
"PbPb" && maxCen>=0)
kAnaMergedPi0+=Form(
"Cen%d_%d",minCen,maxCen);
101 maker->SetReader (
ConfigureReader (col,simulation,clustersArray,tender,nonLinOn,trigger,rejectEMCTrig,minCen,maxCen,printSettings,debug) );
102 maker->SetCaloUtils(
ConfigureCaloUtils(col,simulation,clustersArray,tender,nonLinOn,year, printSettings,debug) );
130 maker->SetAnaDebug(debug) ;
132 maker->SwitchOnHistogramsMaker() ;
133 maker->SwitchOnAODsMaker() ;
135 if( simulation || !trigger.Contains(
"EMC") ) maker->SwitchOffDataControlHistograms();
137 if(printSettings) maker->Print(
"");
143 task->SetDebugLevel(debug);
154 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
156 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(
kAnaMergedPi0, TList::Class(),
157 AliAnalysisManager::kOutputContainer,
158 Form(
"%s",outputfile.Data()));
160 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",
kAnaMergedPi0.Data()), TList::Class(),
161 AliAnalysisManager::kParamContainer,
162 "AnalysisParameters.root");
167 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
169 mgr->ConnectOutput (task, 1, cout_pc);
170 mgr->ConnectOutput (task, 2, cout_cuts);
174 task->SelectCollisionCandidates(mask);
184 TString clustersArray, Bool_t tender,
186 TString trigger, Bool_t rejectEMCTrig,
187 Int_t minCen, Int_t maxCen,
188 Bool_t printSettings, Int_t debug )
191 AliAnalysisManager * mgr = AliAnalysisManager::GetAnalysisManager();
192 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
197 else printf(
"AliCaloTrackReader::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
205 Bool_t useKinematics = kFALSE;
206 useKinematics = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
210 if (!useKinematics && inputDataType==
"AOD") useKinematics = kTRUE;
215 if(inputDataType ==
"ESD")
220 else if(inputDataType ==
"AOD")
278 if(inputDataType==
"ESD")
280 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
285 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
287 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
292 else if(inputDataType==
"AOD")
306 if(clustersArray ==
"" && !tender)
308 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
314 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
354 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
356 printf(
"=== Remove bad triggers === \n");
377 if(clustersArray !=
"" || tender)
379 printf(
"Trigger cluster calibration OFF\n");
407 if(printSettings) reader->
Print(
"");
416 TString clustersArray, Bool_t tender,
417 Bool_t nonLinOn, Int_t year,
418 Bool_t printSettings, Int_t debug)
461 Bool_t calibEner = kFALSE;
462 Bool_t calibTime = kFALSE;
484 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGGA/EMCALTasks/macros/ConfigureEMCALRecoUtils.C");
485 ConfigureEMCALRecoUtils(recou,
493 if( calibTime ) recou->SetExoticCellDiffTimeCut(50);
497 printf(
"ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",recou->IsRecalibrationOn(), cu->
IsRecalibrationOn());
503 if(printSettings) cu->
Print(
"");
512 Bool_t useMass, Bool_t tm,
513 TString col, Bool_t simulation, Int_t year,
514 Bool_t printSet, Int_t debug )
516 printf(
"Set: TM%d_SS%d_Asy%d_Mass%d_%s \n", tm,useSS,useAsy,useMass,
kAnaMergedPi0.Data());
521 ana->SwitchOffAllNLMHistoFill();
522 ana->SwitchOffSelectedClusterHistoFill();
524 ana->SwitchOffFillWeightHistograms();
526 if(tm) ana->SwitchOnTrackMatchRejection() ;
527 else ana->SwitchOffTrackMatchRejection() ;
528 ana->SwitchOffTMHistoFill() ;
530 ana->SetCalorimeter(
"EMCAL");
533 ana->SetOutputAODName(Form(
"Pi0SS_TM%d_SS%d_Asy%d_Mass%d_%s",tm,useSS,useAsy,useMass,
kAnaMergedPi0.Data()));
534 ana->SetOutputAODClassName(
"AliAODPWG4ParticleCorrelation");
537 ana->AddToHistogramsName(Form(
"AnaPi0SSEbE_TM%d_SS%d_Asy%d_Mass%d_",tm,useSS,useAsy,useMass));
542 ana->SetMinEnergy(6);
543 ana->SetMaxEnergy(100.);
545 ana->SetNLMMinEnergy(0, 10);
546 ana->SetNLMMinEnergy(1, 6);
547 ana->SetNLMMinEnergy(2, 6);
550 ana->SetNLMCut(1, 2) ;
553 ana->SetMinDistanceToBadChannel(2, 4, 6);
554 ana->SwitchOnSplitClusterDistToBad();
555 ana->SetTimeCut(-1e10,1e10);
563 printf(
"Do not apply SS cut on merged pi0 analysis \n");
576 ana->GetCaloPID()->SetSubClusterEnergyMinimum(0,2);
577 ana->GetCaloPID()->SetSubClusterEnergyMinimum(1,0.5);
578 ana->GetCaloPID()->SetSubClusterEnergyMinimum(2,0.5);
587 ana->SwitchOffSplitClusterDistToBad();
649 TString col, Bool_t simulation,
650 Bool_t printSettings, Int_t debug)
659 if(calorimeter==
"EMCAL")
667 else if( year>=2011 || year<=2013 )
682 else if(calorimeter==
"PHOS")
687 else if(calorimeter==
"CTS")
747 else if(year == 2012 ||
763 if(printSettings) ana->
Print(
"");
776 printf(
"CaloTrackCorr trigger EMC7\n");
777 return AliVEvent::kEMC7;
779 else if (trigger==
"INT7")
781 printf(
"CaloTrackCorr trigger INT7\n");
782 return AliVEvent::kINT7;
784 else if(trigger==
"EMC1")
786 printf(
"CaloTrackCorr trigger EMC1\n");
787 return AliVEvent::kEMC1;
789 else if(trigger==
"MB")
791 printf(
"CaloTrackCorr trigger MB\n");
792 return AliVEvent::kMB;
794 else if(trigger==
"PHOS")
796 printf(
"CaloTrackCorr trigger PHOS\n");
797 return AliVEvent::kPHI7;
799 else if(trigger==
"PHOSPb")
801 printf(
"CaloTrackCorr trigger PHOSPb\n");
802 return AliVEvent::kPHOSPb;
804 else if(trigger==
"AnyINT")
806 printf(
"CaloTrackCorr trigger AnyINT\n");
807 return AliVEvent::kAnyINT;
809 else if(trigger==
"INT")
811 printf(
"CaloTrackCorr trigger AnyINT\n");
812 return AliVEvent::kAny;
814 else if(trigger==
"EMCEGA")
816 printf(
"CaloTrackCorr trigger EMC Gamma\n");
817 return AliVEvent::kEMCEGA;
819 else if(trigger==
"EMCEJE")
821 printf(
"CaloTrackCorr trigger EMC Jet\n");
822 return AliVEvent::kEMCEJE;
824 else if(trigger==
"Central")
826 printf(
"CaloTrackCorr trigger Central\n");
827 return AliVEvent::kCentral;
829 else if(trigger==
"CentralEGA")
831 printf(
"CaloTrackCorr trigger Central+EMCEGA\n");
832 return (AliVEvent::kCentral | AliVEvent::kEMCEGA);
834 else if(trigger==
"SemiCentral")
836 printf(
"CaloTrackCorr trigger SemiCentral\n");
837 return AliVEvent::kSemiCentral;
839 else if(trigger==
"SemiOrCentral")
841 printf(
"CaloTrackCorr trigger SemiCentral Or Central\n");
842 return (AliVEvent::kSemiCentral | AliVEvent::kCentral);
844 else return AliVEvent::kAny;
void SwitchOnBadChannelsRemoval()
void SetAnalysisCommonParameters(AliAnaCaloTrackCorrBaseClass *ana, TString calorimeter, Int_t year, TString col, Bool_t simulation, Bool_t printSettings, Int_t debug)
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()
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)
void SetSplitWidthSigma(Float_t s)
virtual void SwitchOnFiducialCut()
void SwitchOnRejectNoTrackEvents()
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()
virtual void SwitchOnAODHybridTrackSelection()
virtual void SetCentralityBin(Int_t min, Int_t max)
AliEMCALRecoUtils * GetEMCALRecoUtils() const
void SwitchOffClusterRecalculation()
virtual void SwitchOnDataMC()
AliCaloTrackReader * ConfigureReader(TString col, Bool_t simulation, TString clustersArray, Bool_t tender, Bool_t nonLinOn, TString trigger, Bool_t rejectEMCTrig, Int_t minCen, Int_t maxCen, Bool_t printSettings, Int_t debug)
void SwitchOffClusterELinearityCorrection()
void SetCTSPtMax(Float_t pt)
void SwitchOffSplitShowerShapeCut()
void SetClusterSplittingMinNCells(Int_t c)
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 SetTrackComplementaryCuts(AliESDtrackCuts *)
void SwitchOffUseTrackDCACut()
void SwitchOffPHOSCells()
void SwitchOnTriggerPatchMatching()
virtual void SetDebug(Int_t d)
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 SwitchOffSplitAsymmetryCut()
void SetNumberOfCellsFromEMCALBorder(Int_t n)
void SetEMCALEMin(Float_t e)
Select cluster pairs or single merged clusters with pi0 or eta invariant mass.
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)
void SwitchOffRecalculateClusterTrackMatching()
void SwitchOffVertexBCEventSelection()
virtual void SetPtHardAndClusterPtFactor(Float_t factor)
void SwitchOnFillOnlyMCAcceptanceHisto()
Base class for CaloTrackCorr analysis algorithms.
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()
virtual void SetCentralityOpt(Int_t opt)
void SetHistoPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
AliAnalysisTaskCaloTrackCorrelation * AddTaskMergedPi0Selection(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, Int_t minCen=-1, Int_t maxCen=-1, TString outputfile="", Bool_t printSettings=kFALSE, Int_t debug=0)
virtual AliHistogramRanges * GetHistogramRanges()
void SwitchOnSplitAsymmetryCut()
void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SetTrackStatus(ULong_t bit)
void SwitchOnUseEMCALTimeCut()
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SetHistoTrackResidualPhiRangeAndNBins(Float_t min, Float_t max, Int_t n)
virtual void SetPtHardAndClusterPtComparison(Bool_t compare)
void SwitchOffTriggerClusterTimeRecal()
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)
Int_t GetNumberOfSuperModulesUsed() const
void SwitchOnCorrectClusterLinearity()
void SetAnalysisMaker(AliAnaCaloTrackCorrMaker *const maker)
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()
void SwitchOffTriggerPatchMatching()
virtual void SetZvertexCut(Float_t zcut=10.)
void SetEtaMassRange(Float_t min, Float_t max)
void SetNumberOfSuperModulesUsed(Int_t nSM)
void SwitchOnClusterRecalculation()
void SetPi0MassRange(Float_t min, Float_t max)
Class containing more common histogram axis types.
void SwitchOnPrimaryVertexSelection()
void SwitchOnEMCALCells()
UInt_t SetTriggerMaskFromName(TString trigger)
virtual void SetPtHardAndJetPtFactor(Float_t factor)
Class for event, clusters and tracks filtering and preparation for the ESD analysis.
virtual void SetEventPlaneMethod(TString m)
AliAnaPi0EbE * ConfigurePi0EbEAnalysis(Bool_t useSS, Bool_t useAsy, Bool_t useMass, Bool_t tm, TString col, Bool_t simulation, Int_t year, Bool_t printSet, Int_t debug)
void SetHistoNClustersRangeAndNBins(Int_t min, Int_t max, Int_t n)
virtual void SetTrackCuts(AliESDtrackCuts *)
virtual void SetCentralityClass(TString name)
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)
AliAnaPi0 * ConfigurePi0KineAnalysis(TString col, Int_t year, Bool_t printSet, Int_t debug)
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()
TString kAnaMergedPi0
Global name to be composed of the settings, used to set the AOD branch name.
void SwitchOffRecalculateVertexBC()
void SetHistoZRangeAndNBins(Float_t min, Float_t max, Int_t n)
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.
1 calorimeter cluster shower shape and split invariatn mass selection
virtual void SwitchOnRealCaloAcceptance()
void SetPHOSEMin(Float_t e)
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 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 SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n)
void SwitchOnEventTriggerAtSE()
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 SetPhotonMassRange(Float_t min, Float_t max)
void SwitchOffUseParametrizedTimeCut()
void SwitchOffFillOriginHisto()
void SetLocalMaximaCutE(Float_t cut)
void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n)
Steering class of package CaloTrackCorrelartions.