48 Bool_t simulation = kFALSE,
52 Int_t rejectEMCTrig = 0,
59 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);
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);
94 printf(
"<<<< NAME: %s >>>>>\n",kAnaMergedPi0.Data());
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();
148 maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionHistoFill();
151 maker->SwitchOnPtHardHistogram();
155 if(printSettings) maker->Print(
"");
161 task->SetDebugLevel(debug);
172 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
174 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(kAnaMergedPi0, TList::Class(),
175 AliAnalysisManager::kOutputContainer,
176 Form(
"%s",outputfile.Data()));
178 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",kAnaMergedPi0.Data()), TList::Class(),
179 AliAnalysisManager::kParamContainer,
180 "AnalysisParameters.root");
185 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
187 mgr->ConnectOutput (task, 1, cout_pc);
188 mgr->ConnectOutput (task, 2, cout_cuts);
192 task->SelectCollisionCandidates(mask);
210 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
215 else printf(
"AliCaloTrackReader::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
223 Bool_t useKinematics = kFALSE;
224 useKinematics = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
228 if (!useKinematics && inputDataType==
"AOD") useKinematics = kTRUE;
233 if(inputDataType ==
"ESD")
238 else if(inputDataType ==
"AOD")
296 if(inputDataType==
"ESD")
298 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
303 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
305 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
310 else if(inputDataType==
"AOD")
324 if(clustersArray ==
"" && !tender)
326 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
332 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
372 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
374 printf(
"=== Remove bad triggers === \n");
395 if(clustersArray !=
"" || tender)
397 printf(
"Trigger cluster calibration OFF\n");
425 if(printSettings) reader->
Print(
"");
479 Bool_t calibEner = kFALSE;
480 Bool_t calibTime = kFALSE;
502 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
511 if( calibTime ) recou->SetExoticCellDiffTimeCut(50);
515 printf(
"ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",recou->IsRecalibrationOn(), cu->
IsRecalibrationOn());
521 if(printSettings) cu->
Print(
"");
534 printf(
"Set: TM%d_SS%d_Asy%d_Mass%d_%s \n", tm,useSS,useAsy,useMass,kAnaMergedPi0.Data());
539 ana->SwitchOffAllNLMHistoFill();
540 ana->SwitchOffSelectedClusterHistoFill();
542 ana->SwitchOffFillWeightHistograms();
544 if(tm) ana->SwitchOnTrackMatchRejection() ;
545 else ana->SwitchOffTrackMatchRejection() ;
546 ana->SwitchOffTMHistoFill() ;
548 ana->SetCalorimeter(
"EMCAL");
551 ana->SetOutputAODName(Form(
"Pi0SS_TM%d_SS%d_Asy%d_Mass%d_%s",tm,useSS,useAsy,useMass,kAnaMergedPi0.Data()));
552 ana->SetOutputAODClassName(
"AliAODPWG4ParticleCorrelation");
555 ana->AddToHistogramsName(Form(
"AnaPi0SSEbE_TM%d_SS%d_Asy%d_Mass%d_",tm,useSS,useAsy,useMass));
560 ana->SetMinEnergy(6);
561 ana->SetMaxEnergy(100.);
563 ana->SetNLMMinEnergy(0, 10);
564 ana->SetNLMMinEnergy(1, 6);
565 ana->SetNLMMinEnergy(2, 6);
568 ana->SetNLMCut(1, 2) ;
571 ana->SetMinDistanceToBadChannel(2, 4, 6);
572 ana->SwitchOnSplitClusterDistToBad();
573 ana->SetTimeCut(-1e10,1e10);
581 printf(
"Do not apply SS cut on merged pi0 analysis \n");
594 ana->GetCaloPID()->SetSubClusterEnergyMinimum(0,2);
595 ana->GetCaloPID()->SetSubClusterEnergyMinimum(1,0.5);
596 ana->GetCaloPID()->SetSubClusterEnergyMinimum(2,0.5);
605 ana->SwitchOffSplitClusterDistToBad();
677 if(calorimeter==
"EMCAL")
685 else if ( year < 2014 )
700 else if(calorimeter==
"PHOS")
705 else if(calorimeter==
"CTS")
765 else if(year == 2012 ||
781 if(printSettings) ana->
Print(
"");
794 printf(
"CaloTrackCorr trigger EMC7\n");
795 return AliVEvent::kEMC7;
797 else if (trigger==
"INT7")
799 printf(
"CaloTrackCorr trigger INT7\n");
800 return AliVEvent::kINT7;
802 else if(trigger==
"EMC1")
804 printf(
"CaloTrackCorr trigger EMC1\n");
805 return AliVEvent::kEMC1;
807 else if(trigger==
"MB")
809 printf(
"CaloTrackCorr trigger MB\n");
810 return AliVEvent::kMB;
812 else if(trigger==
"PHOS")
814 printf(
"CaloTrackCorr trigger PHOS\n");
815 return AliVEvent::kPHI7;
817 else if(trigger==
"PHOSPb")
819 printf(
"CaloTrackCorr trigger PHOSPb\n");
820 return AliVEvent::kPHOSPb;
822 else if(trigger==
"AnyINT")
824 printf(
"CaloTrackCorr trigger AnyINT\n");
825 return AliVEvent::kAnyINT;
827 else if(trigger==
"INT")
829 printf(
"CaloTrackCorr trigger AnyINT\n");
830 return AliVEvent::kAny;
832 else if(trigger==
"EMCEGA")
834 printf(
"CaloTrackCorr trigger EMC Gamma\n");
835 return AliVEvent::kEMCEGA;
837 else if(trigger==
"EMCEJE")
839 printf(
"CaloTrackCorr trigger EMC Jet\n");
840 return AliVEvent::kEMCEJE;
842 else if(trigger==
"Central")
844 printf(
"CaloTrackCorr trigger Central\n");
845 return AliVEvent::kCentral;
847 else if(trigger==
"CentralEGA")
849 printf(
"CaloTrackCorr trigger Central+EMCEGA\n");
850 return (AliVEvent::kCentral | AliVEvent::kEMCEGA);
852 else if(trigger==
"SemiCentral")
854 printf(
"CaloTrackCorr trigger SemiCentral\n");
855 return AliVEvent::kSemiCentral;
857 else if(trigger==
"SemiOrCentral")
859 printf(
"CaloTrackCorr trigger SemiCentral Or Central\n");
860 return (AliVEvent::kSemiCentral | AliVEvent::kCentral);
862 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 SetEMCALEMin(Float_t en)
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 SwitchOffSplitAsymmetryCut()
void SetNumberOfCellsFromEMCALBorder(Int_t n)
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 SetPHOSEMin(Float_t en)
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)
void SetEMCALEMax(Float_t en)
Class for PID selection with calorimeters.
1 calorimeter cluster shower shape and split invariatn mass selection
virtual void SwitchOnRealCaloAcceptance()
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 SetPHOSEMax(Float_t en)
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 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.