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());
282 if(inputDataType==
"ESD")
284 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGJE/macros/CreateTrackCutsPWGJE.C");
289 AliESDtrackCuts * esdTrackCuts = CreateTrackCutsPWGJE(10001008);
291 AliESDtrackCuts * esdTrackCuts2 = CreateTrackCutsPWGJE(10011008);
296 else if(inputDataType==
"AOD")
310 if(clustersArray ==
"" && !tender)
312 printf(
"**************** Standard EMCAL clusters branch analysis **************** \n");
318 printf(
"**************** Input for analysis is Clusterizer %s **************** \n", clustersArray.Data());
358 if( rejectEMCTrig > 0 && !simulation && (trigger.Contains(
"EMC") || trigger.Contains(
"L")))
360 printf(
"=== Remove bad triggers === \n");
381 if(clustersArray !=
"" || tender)
383 printf(
"Trigger cluster calibration OFF\n");
411 if(printSettings) reader->
Print(
"");
465 Bool_t calibEner = kFALSE;
466 Bool_t calibTime = kFALSE;
488 gROOT->LoadMacro(
"$ALICE_PHYSICS/PWGPP/EMCAL/macros/ConfigureEMCALRecoUtils.C");
507 if(printSettings) cu->
Print(
"");
520 printf(
"Set: TM%d_SS%d_Asy%d_Mass%d_%s \n", tm,useSS,useAsy,useMass,kAnaMergedPi0.Data());
525 ana->SwitchOffAllNLMHistoFill();
526 ana->SwitchOffSelectedClusterHistoFill();
528 ana->SwitchOffFillWeightHistograms();
530 if(tm) ana->SwitchOnTrackMatchRejection() ;
531 else ana->SwitchOffTrackMatchRejection() ;
532 ana->SwitchOffTMHistoFill() ;
534 ana->SetCalorimeter(
"EMCAL");
537 ana->SetOutputAODName(Form(
"Pi0SS_TM%d_SS%d_Asy%d_Mass%d_%s",tm,useSS,useAsy,useMass,kAnaMergedPi0.Data()));
538 ana->SetOutputAODClassName(
"AliCaloTrackParticleCorrelation");
541 ana->AddToHistogramsName(Form(
"AnaPi0SSEbE_TM%d_SS%d_Asy%d_Mass%d_",tm,useSS,useAsy,useMass));
546 ana->SetMinEnergy(6);
547 ana->SetMaxEnergy(100.);
549 ana->SetNLMMinEnergy(0, 10);
550 ana->SetNLMMinEnergy(1, 6);
551 ana->SetNLMMinEnergy(2, 6);
554 ana->SetNLMCut(1, 2) ;
557 ana->SetMinDistanceToBadChannel(2, 4, 6);
558 ana->SwitchOnSplitClusterDistToBad();
559 ana->SetTimeCut(-1e10,1e10);
567 printf(
"Do not apply SS cut on merged pi0 analysis \n");
580 ana->GetCaloPID()->SetSubClusterEnergyMinimum(0,2);
581 ana->GetCaloPID()->SetSubClusterEnergyMinimum(1,0.5);
582 ana->GetCaloPID()->SetSubClusterEnergyMinimum(2,0.5);
591 ana->SwitchOffSplitClusterDistToBad();
663 if(calorimeter==
"EMCAL")
671 else if ( year < 2014 )
686 else if(calorimeter==
"PHOS")
691 else if(calorimeter==
"CTS")
751 else if(year == 2012 ||
764 if(printSettings) ana->
Print(
"");
777 printf(
"CaloTrackCorr trigger EMC7\n");
778 return AliVEvent::kEMC7;
780 else if (trigger==
"INT7")
782 printf(
"CaloTrackCorr trigger INT7\n");
783 return AliVEvent::kINT7;
785 else if(trigger==
"EMC1")
787 printf(
"CaloTrackCorr trigger EMC1\n");
788 return AliVEvent::kEMC1;
790 else if(trigger==
"MB")
792 printf(
"CaloTrackCorr trigger MB\n");
793 return AliVEvent::kMB;
795 else if(trigger==
"PHOS")
797 printf(
"CaloTrackCorr trigger PHOS\n");
798 return AliVEvent::kPHI7;
800 else if(trigger==
"PHOSPb")
802 printf(
"CaloTrackCorr trigger PHOSPb\n");
803 return AliVEvent::kPHOSPb;
805 else if(trigger==
"AnyINT")
807 printf(
"CaloTrackCorr trigger AnyINT\n");
808 return AliVEvent::kAnyINT;
810 else if(trigger==
"INT")
812 printf(
"CaloTrackCorr trigger AnyINT\n");
813 return AliVEvent::kAny;
815 else if(trigger==
"EMCEGA")
817 printf(
"CaloTrackCorr trigger EMC Gamma\n");
818 return AliVEvent::kEMCEGA;
820 else if(trigger==
"EMCEJE")
822 printf(
"CaloTrackCorr trigger EMC Jet\n");
823 return AliVEvent::kEMCEJE;
825 else if(trigger==
"Central")
827 printf(
"CaloTrackCorr trigger Central\n");
828 return AliVEvent::kCentral;
830 else if(trigger==
"CentralEGA")
832 printf(
"CaloTrackCorr trigger Central+EMCEGA\n");
833 return (AliVEvent::kCentral | AliVEvent::kEMCEGA);
835 else if(trigger==
"SemiCentral")
837 printf(
"CaloTrackCorr trigger SemiCentral\n");
838 return AliVEvent::kSemiCentral;
840 else if(trigger==
"SemiOrCentral")
842 printf(
"CaloTrackCorr trigger SemiCentral Or Central\n");
843 return (AliVEvent::kSemiCentral | AliVEvent::kCentral);
845 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 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 SetTrackComplementaryCuts(AliESDtrackCuts *)
void SwitchOffUseTrackDCACut()
void SetEMCALEMin(Float_t en)
void SwitchOffPHOSCells()
void SwitchOnTriggerPatchMatching()
virtual void SetDebug(Int_t d)
void ana(anaModes mode=mLocal)
void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n)
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.
Bool_t IsBadChannelsRemovalSwitchedOn() const
void SwitchOffPileUpEventRejection()
const TString calorimeter
void SwitchOnRecalibration()
void SwitchOffV0ANDSelection()
virtual void SetPtHardAndJetPtComparison(Bool_t compare)
Bool_t IsRecalibrationOn() const
Bool_t IsRecalibrationOn() const
Some utilities for cluster and cell treatment.
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 SetCTSPtMin(Float_t pt)
void SwitchOffRecalculateClusterTrackMatching()
void SwitchOffVertexBCEventSelection()
virtual void SetPtHardAndClusterPtFactor(Float_t factor)
virtual void SetCalorimeter(TString calo)
Set the calorimeter for the analysis. A string.
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)
void SetExoticCellDiffTimeCut(Float_t dt)
virtual void SetPtHardAndClusterPtComparison(Bool_t compare)
void SetEMCALClusterListName(TString name)
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()
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.