1 #ifndef ALIANALYSISTASKJETEXTRACTOR_H 2 #define ALIANALYSISTASKJETEXTRACTOR_H 9 class AliRDHFJetsCutsVertex;
11 class AliHFJetsTaggingVertex;
93 void ReconstructSecondaryVertices(
const AliVVertex* primVtx,
const AliEmcalJet* jet, std::vector<Float_t>& secVtx_X, std::vector<Float_t>& secVtx_Y, std::vector<Float_t>& secVtx_Z, std::vector<Float_t>& secVtx_Mass, std::vector<Float_t>& secVtx_Lxy, std::vector<Float_t>& secVtx_SigmaLxy, std::vector<Float_t>& secVtx_Chi2, std::vector<Float_t>& secVtx_Dispersion);
94 void GetJetSplittings(
AliEmcalJet* jet, std::vector<Float_t>& splittings_radiatorE, std::vector<Float_t>& splittings_kT, std::vector<Float_t>& splittings_theta, std::vector<Int_t>& splittings_secVtx_rank, std::vector<Int_t>& splittings_secVtx_index);
150 Double_t deltaPhi = TMath::Min(TMath::Abs(phi1-phi2),TMath::TwoPi() - TMath::Abs(phi1-phi2));
151 return TMath::Sqrt((eta1-eta2)*(eta1-eta2) + deltaPhi*deltaPhi);
157 template <
class T>
T*
AddHistogram1D(
const char* name =
"CustomHistogram",
const char*
title =
"NO_TITLE",
const char* options =
"",
Int_t xBins = 100,
Double_t xMin = 0.0,
Double_t xMax = 20.0,
const char* xTitle =
"x axis",
const char* yTitle =
"y axis");
158 template <
class T>
T*
AddHistogram2D(
const char* name =
"CustomHistogram",
const char*
title =
"NO_TITLE",
const char* options =
"",
Int_t xBins = 100,
Double_t xMin = 0.0,
Double_t xMax = 20.0,
Int_t yBins = 100,
Double_t yMin = 0.0,
Double_t yMax = 20.0,
const char* xTitle =
"x axis",
const char* yTitle =
"y axis",
const char* zTitle =
"z axis");
159 template <
class T>
T*
AddHistogram3D(
const char* name =
"CustomHistogram",
const char*
title =
"NO_TITLE",
const char* options =
"",
Int_t xBins = 100,
Double_t xMin = 0.0,
Double_t xMax = 20.0,
Int_t yBins = 100,
Double_t yMin = 0.0,
Double_t yMax = 20.0,
Int_t zBins = 100,
Double_t zMin = 0.0,
Double_t zMax = 20.0,
const char* xTitle =
"x axis",
const char* yTitle =
"y axis",
const char* zTitle =
"z axis");
191 fExtractionPercentagePtBins.push_back(minPt);
192 fExtractionPercentagePtBins.push_back(maxPt);
193 fExtractionPercentages.push_back(percentage);
202 Bool_t AddJetToTree(
AliEmcalJet* jet,
Bool_t saveConstituents,
Bool_t saveConstituentsIP,
Bool_t saveCaloClusters,
Double_t* vertex,
Float_t rho,
Float_t rhoMass,
Float_t centrality,
Int_t multiplicity,
Long64_t eventID,
Float_t magField);
203 void FillBuffer_SecVertices(std::vector<Float_t>& secVtx_X, std::vector<Float_t>& secVtx_Y, std::vector<Float_t>& secVtx_Z, std::vector<Float_t>& secVtx_Mass, std::vector<Float_t>& secVtx_Lxy, std::vector<Float_t>& secVtx_SigmaLxy, std::vector<Float_t>& secVtx_Chi2, std::vector<Float_t>& secVtx_Dispersion);
205 void FillBuffer_Splittings(std::vector<Float_t>& splittings_radiatorE, std::vector<Float_t>& splittings_kT, std::vector<Float_t>& splittings_theta,
Bool_t saveSecondaryVertices, std::vector<Int_t>& splittings_secVtx_rank, std::vector<Int_t>& splittings_secVtx_index);
206 void FillBuffer_PID(std::vector<Float_t>& trackPID_ITS, std::vector<Float_t>& trackPID_TPC, std::vector<Float_t>& trackPID_TOF, std::vector<Float_t>& trackPID_TRD, std::vector<Short_t>& trackPID_Reco, std::vector<Int_t>& trackPID_Truth);
207 void FillBuffer_MonteCarlo(
Int_t motherParton,
Int_t motherHadron,
Int_t partonInitialCollision,
Float_t matchJetDistance,
Float_t matchedJetPt,
Float_t matchedJetMass,
Float_t truePtFraction,
Float_t truePtFraction_mcparticles,
Float_t ptHard,
Float_t eventWeight,
Float_t impactParameter);
208 void FillBuffer_ImpactParameters(std::vector<Float_t>& trackIP_d0, std::vector<Float_t>& trackIP_z0, std::vector<Float_t>& trackIP_d0cov, std::vector<Float_t>& trackIP_z0cov);
209 void FillBuffer_TriggerTracks(std::vector<Float_t>& triggerTrackPt, std::vector<Float_t>& triggerTrackDeltaEta, std::vector<Float_t>& triggerTrackDeltaPhi);
Float_t fBuffer_Shape_MomentumDispersion
! array buffer
Float_t fBuffer_Jet_MC_TruePtFraction_mcparticles
! array buffer
Float_t * fBuffer_Track_ProdVtx_Z
! array buffer
Int_t fBuffer_NumTriggerTracks
void AddExtractionJetTypePM(Int_t type)
Float_t fBuffer_Jet_MC_MatchedJet_Pt
! array buffer
Float_t fBuffer_Shape_LeSub_DerivCorr
! array buffer
TTree * fJetTree
! tree structure
Float_t fBuffer_Event_BackgroundDensity
! array buffer
Float_t fBuffer_Shape_Mass_DerivCorr_1
! array buffer
Float_t fBuffer_Jet_MC_MatchedJet_Mass
! array buffer
std::vector< Float_t > GetExtractionPercentages()
Float_t * fBuffer_Cluster_M02
! array buffer
std::vector< Float_t > GetExtractionPercentagePtBins()
Int_t * fBuffer_Track_Label
! array buffer
Float_t fBuffer_Shape_Circularity_DerivCorr_1
! array buffer
Float_t fBuffer_Shape_pTD_DerivCorr_2
! array buffer
Float_t * fBuffer_Track_Eta
! array buffer
void ResetExtractionPercentages()
std::vector< Int_t > fExtractionJetTypes_HM
Jet-types that will be extracted with this tree (hadron matching)
UShort_t T(UShort_t m, UShort_t t)
Float_t fBuffer_Shape_Mass_DerivCorr_2
! array buffer
Float_t fBuffer_Event_ImpactParameter
! array buffer
TRandom3 * fRandomGenerator
! random generator
std::vector< Float_t > fExtractionPercentages
Percentages which will be extracted for a given pT bin.
Float_t * fBuffer_Cluster_Time
! array buffer
Float_t fBuffer_Shape_Sigma2_DerivCorr_2
! array buffer
Int_t fBuffer_Jet_MC_MotherParton
! array buffer
Float_t fBuffer_Event_PtHard
! array buffer
Int_t fBuffer_NumSecVertices
Float_t * fBuffer_Track_Charge
! array buffer
Float_t * fBuffer_Cluster_Phi
! array buffer
Float_t fBuffer_Event_Weight
! array buffer
Float_t fBuffer_Shape_Sigma2_DerivCorr_1
! array buffer
Int_t fBuffer_Event_Multiplicity
! array buffer
Float_t fBuffer_JetPhi
! array buffer
Float_t fBuffer_Shape_TrackPtMedian
! array buffer
Float_t fBuffer_JetArea
! array buffer
std::vector< Int_t > fExtractionJetTypes_PM
Jet-types that will be extracted with this tree (parton matching)
std::vector< Float_t > fExtractionPercentagePtBins
pT-bins associated with fExtractionPercentages
Float_t * fBuffer_Track_Phi
! array buffer
Long64_t fBuffer_Event_ID
! array buffer
Float_t fBuffer_Event_Centrality
! array buffer
Int_t fBuffer_Jet_MC_MotherIC
! array buffer
Float_t * fBuffer_Track_ProdVtx_X
! array buffer
Float_t fBuffer_Shape_Mass_NoCorr
! array buffer
Bool_t fInitialized
init state of tree
std::vector< Int_t > GetExtractionJetTypes_PM()
std::vector< Int_t > GetExtractionJetTypes_HM()
Float_t fBuffer_Event_BackgroundDensityMass
! array buffer
Float_t * fBuffer_Cluster_Eta
! array buffer
Float_t fBuffer_Shape_NumTracks_DerivCorr
! array buffer
Int_t fBuffer_NumClusters
! array buffer
void AddExtractionJetTypeHM(Int_t type)
Int_t fBuffer_NumSplittings
Float_t fBuffer_JetPt
! array buffer
Float_t fBuffer_Event_Vertex_Y
! array buffer
Int_t fBuffer_NumTracks
! array buffer
Float_t * fBuffer_Cluster_E
! array buffer
Float_t * fBuffer_Track_ProdVtx_Y
! array buffer
Base task in the EMCAL jet framework.
Float_t fBuffer_Shape_Angularity_DerivCorr_2
! array buffer
Represent a jet reconstructed using the EMCal jet framework.
Float_t * fBuffer_Cluster_Pt
! array buffer
Float_t fBuffer_JetEta
! array buffer
Int_t * fBuffer_Cluster_Label
! array buffer
Float_t fBuffer_Shape_TrackPtMean
! array buffer
void AddExtractionPercentage(Float_t minPt, Float_t maxPt, Float_t percentage)
Float_t fBuffer_Event_Vertex_X
! array buffer
void SetRandomGenerator(TRandom3 *gen)
Float_t fBuffer_Shape_Circularity_DerivCorr_2
! array buffer
Int_t fBuffer_Jet_MC_MotherHadron
! array buffer
Float_t fBuffer_Jet_MC_MatchedJet_Distance
! array buffer
Float_t fBuffer_Shape_LeSub_NoCorr
! array buffer
Float_t fBuffer_Shape_Angularity_DerivCorr_1
! array buffer
Float_t fBuffer_Jet_MC_TruePtFraction
! array buffer
Class managing creation of a tree containing jets.
Float_t fBuffer_Shape_Angularity_NoCorr
! array buffer
Float_t fBuffer_Shape_pTD_DerivCorr_1
! array buffer
Float_t fBuffer_Event_Vertex_Z
! array buffer
Float_t * fBuffer_Track_Pt
! array buffer
Float_t fBuffer_Event_MagneticField
! array buffer