1 #ifndef AliAnalysisTaskEmcalJetHCorrelations_H 2 #define AliAnalysisTaskEmcalJetHCorrelations_H 28 class AliEventPoolManager;
30 #include "AliEventCuts.h" 45 namespace EMCALJetTasks {
63 kEffAutomaticConfiguration = 1,
122 virtual void UserCreateOutputObjects();
126 const char *nTracks =
"usedefault",
127 const char *nCaloClusters =
"usedefault",
132 const Int_t nTracksMixedEvent = 0,
133 const Int_t minNTracksMixedEvent = 5000,
134 const Int_t minNEventsMixedEvent = 5,
135 const UInt_t nCentBinsMixedEvent = 10,
137 UInt_t trigEvent = AliVEvent::kAny,
138 UInt_t mixEvent = AliVEvent::kAny,
140 const Bool_t lessSparseAxes = kFALSE,
141 const Bool_t widerTrackBin = kFALSE,
144 const Bool_t JESCorrection = kFALSE,
145 const char * JESCorrectionFilename =
"alien:///alice/cern.ch/user/r/rehlersi/JESCorrection.root",
146 const char * JESCorrectionHistName =
"JESCorrection",
147 const char *
suffix =
"biased" 150 bool ConfigureForStandardAnalysis(std::string trackName =
"usedefault",
151 std::string clusName =
"usedefault",
152 const double jetConstituentPtCut = 3,
153 const double trackEta = 0.8,
154 const double jetRadius = 0.2);
156 bool ConfigureForEmbeddingAnalysis(std::string trackName =
"usedefault",
157 std::string clusName =
"caloClustersCombined",
158 const double jetConstituentPtCut = 3,
159 const double trackEta = 0.8,
160 const double jetRadius = 0.2,
161 const std::string & jetTag =
"hybridLevelJets",
162 const std::string & correlationsTracksCutsPeriod =
"lhc11a");
165 void AddConfigurationFile(
const std::string & configurationPath,
const std::string & configName =
"") { fYAMLConfig.AddConfiguration(configurationPath, configName); }
169 std::string toString()
const;
172 std::ostream &
Print(std::ostream &in)
const;
184 kMaxCentralityBins = 5,
185 kMixedEventMultiplicityBins = 8,
189 virtual void UserExecOnce();
194 AliParticleContainer * CreateParticleOrTrackContainer(
const std::string & collectionName)
const;
198 bool CheckArtificialTrackEfficiency(
unsigned int trackIndex, std::vector<unsigned int> & rejectedTrackIndices,
bool useRejectedList);
200 TObjArray* CloneAndReduceTrackList(std::vector<unsigned int> & rejectedTrackIndices,
const bool useRejectedList);
202 virtual THnSparse* NewTHnSparseF(
const char* name,
UInt_t entries);
206 UInt_t RetrieveTriggerMask()
const;
208 void InitializeArraysToZero();
218 void FillHist(THnSparse * hist,
Double_t *fillValue,
Double_t weight = 1.0,
Bool_t noCorrection = kFALSE);
219 void AccessSetOfYBinValues(
TH2D * hist,
Int_t xBin, std::vector <Double_t> & yBinsContent,
Double_t scaleFactor = -1.0);
222 void RetrieveAndSetTaskPropertiesFromYAMLConfig();
virtual void SetEventMixing(Bool_t enable)
Bool_t fNoMixedEventJESCorrection
True if the jet energy scale correction should be applied to mixed event histograms.
THnSparse * fhnTrigger
! JetH trigger sparse
void Print(std::ostream &o, const char *name, Double_t dT, Double_t dVM, Double_t alldT, Double_t alldVM)
Int_t fMinNEventsMixedEvents
threshold to use event pool # events
AliEventCuts fEventCuts
AliEventCuts to handle event selection.
Int_t fNMixingTracks
size of track buffer for event mixing
void SetDoWiderTrackBin(Bool_t wtrbin)
virtual void SetMinNTracksForMixedEvents(Int_t nmt)
UInt_t fMixingEventType
Event selection for mixed events.
Bool_t fDoEventMixing
flag to do event mixing
THnSparse * fhnJH
! JetH THnSparse
TH2D * fJESCorrectionHist
Histogram containing the jet energy scale correction.
THistManager fHistManager
Histogram manager.
virtual ~AliAnalysisTaskEmcalJetHCorrelations()
void SetRequireMatchedJetWhenEmbedding(Bool_t b)
virtual void SetTrackBias(Double_t b)
Require a track with pt > b in jet.
Int_t fMinNTracksMixedEvents
threshold to use event pool # tracks
Bool_t fDoLessSparseAxes
True if there should be fewer THnSparse axes.
bool fUseAliEventCuts
If true, use AliEventCuts.
Double_t fMaxMatchedJetDistance
Maximum distance between two matched jets.
Bool_t fDoWiderTrackBin
True if the track pt bins in the THnSparse should be wider.
Double_t fClusterBias
Jet cluster bias.
UInt_t fTriggerType
Event selection for jets (ie triggered events).
THnSparse * fhnMixedEvents
! Mixed events THnSparse
binArrayLimits_t
Define the number of elements in various arrays.
void SetMinimumSharedMomentumFraction(double d)
Container for particles within the EMCAL framework.
void SetSingleTrackEfficiencyType(ESingleTrackEfficiency_t trackEffType)
BeamType
Switch for the beam type.
jetBias_t
Default value used to disable constituent bias.
void SetRequireMatchedPartLevelJet(bool b)
std::ostream & operator<<(std::ostream &in, const PWGJE::EMCALJetTasks::AliAnalysisTaskEmcalJetHCorrelations &myTask)
double GetMinimumSharedMomentumFraction() const
Mimimum shared momentum fraction for matched jet.
virtual void SetNCentBinsMixedEvent(Bool_t centbins)
virtual void SetClusterBias(Double_t b)
Require a cluster with pt > b in jet.
void AddConfigurationFile(const std::string &configurationPath, const std::string &configName="")
Double_t GetTrackBias() const
Bool_t GetDisableFastPartition() const
! Disable single track efficiency
bool GetRequireMatchedPartLevelJet() const
virtual void SetMixedEventTriggerType(UInt_t me)
Set the mixed event trigger selection.
Bool_t GetRequireMatchedJetWhenEmbedding() const
Require jet to be matched when embedding.
virtual void SetNumberOfMixingTracks(Int_t tracks)
Double_t fMinSharedMomentumFraction
Minimum shared momentum with matched jet.
ESingleTrackEfficiency_t
Define the single track efficiency to apply.
UInt_t fNCentBinsMixedEvent
N cent bins for the event mixing pool.
Bool_t fRequireMatchedJetWhenEmbedding
True if jets are required to be matched (ie. jet->MatchedJet() != nullptr)
void SetMaximumMatchedJetDistance(double d)
void SetJESCorrectionHist(TH2D *hist)
PWG::Tools::AliYAMLConfiguration fYAMLConfig
YAML configuration file.
bool fConfigurationInitialized
True if the task configuration has been successfully initialized.
virtual void SetMinNEventsForMixedEvents(Int_t nme)
Bool_t fDisableFastPartition
True if task should be disabled for the fast partition, where the EMCal is not included.
Double_t fTrackBias
Jet track bias.
void SetArtificialTrackingInefficiency(double eff)
Artificial tracking inefficiency from 0 to 1. 1.0 (default) will disable it.
Base task in the EMCAL jet framework.
Represent a jet reconstructed using the EMCal jet framework.
Container class for histograms.
TH2 * fHistJetEtaPhi
! Jet eta-phi distribution
void SetNoMixedEventJESCorrection(Bool_t b)
Double_t GetClusterBias() const
TH2 * fHistJetHEtaPhi
! Eta-phi distribution of jets which are in jet-hadron correlations
ESingleTrackEfficiency_t fSingleTrackEfficiencyCorrectionType
Control the efficiency correction. See EffCorrection() for meaning of values.
Jet-hadron correlations analysis task for central Pb-Pb and pp.
virtual void SetTriggerType(UInt_t te)
Set the trigger event trigger selection.
AliEventPoolManager * fPoolMgr
! Event pool manager
void SetDoLessSparseAxes(Bool_t dlsa)
! Arbitrarily large value which can be used to disable the constituent bias. Can be used for either t...
void SetDisableFastPartition(Bool_t b=kTRUE)
True if the task should be disabled for the fast partition.
Container for jet within the EMCAL jet framework.
bool fRequireMatchedPartLevelJet
True if matched jets are required to be matched to a particle level jet.
TH1 * fHistJetHTrackPt
! Track pt spectrum
Double_t fArtificialTrackInefficiency
Artificial track inefficiency. Enabled if < 1.0.
double GetMaximumMatchedJetDistance() const
TRandom3 fRandom
! Random number generator for artificial track inefficiency.