47 Bool_t simulation = kFALSE,
51 Int_t rejectEMCTrig = 0,
58 Bool_t printSettings = kFALSE,
64 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",
65 simulation,year,col.Data(),trigger.Data(), rejectEMCTrig, clustersArray.Data(),tender, nonLinOn,
66 minCen,maxCen,outputfile.Data(),printSettings,debug);
71 ::Error(
"AddTask",
"No analysis manager to connect to.");
77 if (!mgr->GetInputEventHandler())
79 ::Error(
"AddTask",
"This task requires an input event handler");
84 ((AliInputEventHandler*)mgr->GetInputEventHandler())->SetNeedField(kTRUE);
88 kAnaMergedPi0 = Form(
"MergedPi0_Trig%s_Col_%s_Year%d_Cl%s_Ten%d",
89 trigger.Data(),col.Data(),year,clustersArray.Data(),tender);
91 if(col==
"PbPb" && maxCen>=0) kAnaMergedPi0+=Form(
"Cen%d_%d",minCen,maxCen);
93 printf(
"<<<< NAME: %s >>>>>\n",kAnaMergedPi0.Data());
100 maker->SetReader (
ConfigureReader (col,simulation,clustersArray,tender,nonLinOn,trigger,rejectEMCTrig,minCen,maxCen,printSettings,debug) );
101 maker->SetCaloUtils(
ConfigureCaloUtils(col,simulation,clustersArray,tender,nonLinOn,year, printSettings,debug) );
129 maker->SetAnaDebug(debug) ;
131 maker->SwitchOnHistogramsMaker() ;
132 maker->SwitchOnAODsMaker() ;
134 if( simulation || !trigger.Contains(
"EMC") ) maker->SwitchOffDataControlHistograms();
147 maker->GetReader()->GetWeightUtils()->SwitchOnMCCrossSectionHistoFill();
150 maker->SwitchOnPtHardHistogram();
154 if(printSettings) maker->Print(
"");
160 task->SetDebugLevel(debug);
171 if(outputfile.Length()==0) outputfile = AliAnalysisManager::GetCommonFileName();
173 AliAnalysisDataContainer *cout_pc = mgr->CreateContainer(kAnaMergedPi0, TList::Class(),
174 AliAnalysisManager::kOutputContainer,
175 Form(
"%s",outputfile.Data()));
177 AliAnalysisDataContainer *cout_cuts = mgr->CreateContainer(Form(
"Param_%s",kAnaMergedPi0.Data()), TList::Class(),
178 AliAnalysisManager::kParamContainer,
179 "AnalysisParameters.root");
184 mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
186 mgr->ConnectOutput (task, 1, cout_pc);
187 mgr->ConnectOutput (task, 2, cout_cuts);
191 task->SelectCollisionCandidates(mask);
209 TString inputDataType = mgr->GetInputEventHandler()->GetDataType();
214 else printf(
"AliCaloTrackReader::ConfigureReader() - Data not known InputData=%s\n",inputDataType.Data());
222 Bool_t useKinematics = kFALSE;
223 useKinematics = (mgr->GetMCtruthEventHandler())?kTRUE:kFALSE;
227 if (!useKinematics && inputDataType==
"AOD") useKinematics = kTRUE;
232 if(inputDataType ==
"ESD")
237 else if(inputDataType ==
"AOD")
295 if(inputDataType==
"ESD")
297 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
302 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
304 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
309 else if(inputDataType==
"AOD")
323 if(clustersArray ==
"" && !tender)
325 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
331 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
371 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
373 printf(
"=== Remove bad triggers === \n");
394 if(clustersArray !=
"" || tender)
396 printf(
"Trigger cluster calibration OFF\n");
424 if(printSettings) reader->
Print(
"");
478 Bool_t calibEner = kFALSE;
479 Bool_t calibTime = kFALSE;
501 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
510 if( calibTime ) recou->SetExoticCellDiffTimeCut(50);
514 printf(
"ConfigureCaloUtils() - EMCAL Recalibration ON? %d %d\n",recou->IsRecalibrationOn(), cu->
IsRecalibrationOn());
520 if(printSettings) cu->
Print(
"");
533 printf(
"Set: TM%d_SS%d_Asy%d_Mass%d_%s \n", tm,useSS,useAsy,useMass,kAnaMergedPi0.Data());
538 ana->SwitchOffAllNLMHistoFill();
539 ana->SwitchOffSelectedClusterHistoFill();
541 ana->SwitchOffFillWeightHistograms();
543 if(tm) ana->SwitchOnTrackMatchRejection() ;
544 else ana->SwitchOffTrackMatchRejection() ;
545 ana->SwitchOffTMHistoFill() ;
547 ana->SetCalorimeter(
"EMCAL");
550 ana->SetOutputAODName(Form(
"Pi0SS_TM%d_SS%d_Asy%d_Mass%d_%s",tm,useSS,useAsy,useMass,kAnaMergedPi0.Data()));
551 ana->SetOutputAODClassName(
"AliAODPWG4ParticleCorrelation");
554 ana->AddToHistogramsName(Form(
"AnaPi0SSEbE_TM%d_SS%d_Asy%d_Mass%d_",tm,useSS,useAsy,useMass));
559 ana->SetMinEnergy(6);
560 ana->SetMaxEnergy(100.);
562 ana->SetNLMMinEnergy(0, 10);
563 ana->SetNLMMinEnergy(1, 6);
564 ana->SetNLMMinEnergy(2, 6);
567 ana->SetNLMCut(1, 2) ;
570 ana->SetMinDistanceToBadChannel(2, 4, 6);
571 ana->SwitchOnSplitClusterDistToBad();
572 ana->SetTimeCut(-1e10,1e10);
580 printf(
"Do not apply SS cut on merged pi0 analysis \n");
593 ana->GetCaloPID()->SetSubClusterEnergyMinimum(0,2);
594 ana->GetCaloPID()->SetSubClusterEnergyMinimum(1,0.5);
595 ana->GetCaloPID()->SetSubClusterEnergyMinimum(2,0.5);
604 ana->SwitchOffSplitClusterDistToBad();
676 if(calorimeter==
"EMCAL")
684 else if ( year < 2014 )
699 else if(calorimeter==
"PHOS")
704 else if(calorimeter==
"CTS")
764 else if(year == 2012 ||
780 if(printSettings) ana->
Print(
"");
793 printf(
"CaloTrackCorr trigger EMC7\n");
794 return AliVEvent::kEMC7;
796 else if (trigger==
"INT7")
798 printf(
"CaloTrackCorr trigger INT7\n");
799 return AliVEvent::kINT7;
801 else if(trigger==
"EMC1")
803 printf(
"CaloTrackCorr trigger EMC1\n");
804 return AliVEvent::kEMC1;
806 else if(trigger==
"MB")
808 printf(
"CaloTrackCorr trigger MB\n");
809 return AliVEvent::kMB;
811 else if(trigger==
"PHOS")
813 printf(
"CaloTrackCorr trigger PHOS\n");
814 return AliVEvent::kPHI7;
816 else if(trigger==
"PHOSPb")
818 printf(
"CaloTrackCorr trigger PHOSPb\n");
819 return AliVEvent::kPHOSPb;
821 else if(trigger==
"AnyINT")
823 printf(
"CaloTrackCorr trigger AnyINT\n");
824 return AliVEvent::kAnyINT;
826 else if(trigger==
"INT")
828 printf(
"CaloTrackCorr trigger AnyINT\n");
829 return AliVEvent::kAny;
831 else if(trigger==
"EMCEGA")
833 printf(
"CaloTrackCorr trigger EMC Gamma\n");
834 return AliVEvent::kEMCEGA;
836 else if(trigger==
"EMCEJE")
838 printf(
"CaloTrackCorr trigger EMC Jet\n");
839 return AliVEvent::kEMCEJE;
841 else if(trigger==
"Central")
843 printf(
"CaloTrackCorr trigger Central\n");
844 return AliVEvent::kCentral;
846 else if(trigger==
"CentralEGA")
848 printf(
"CaloTrackCorr trigger Central+EMCEGA\n");
849 return (AliVEvent::kCentral | AliVEvent::kEMCEGA);
851 else if(trigger==
"SemiCentral")
853 printf(
"CaloTrackCorr trigger SemiCentral\n");
854 return AliVEvent::kSemiCentral;
856 else if(trigger==
"SemiOrCentral")
858 printf(
"CaloTrackCorr trigger SemiCentral Or Central\n");
859 return (AliVEvent::kSemiCentral | AliVEvent::kCentral);
861 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.