5#ifndef JETCALIBTOOLS_GLOBALSEQUENTIALCORRECTION_H
6#define JETCALIBTOOLS_GLOBALSEQUENTIALCORRECTION_H 1
28 typedef std::vector<std::unique_ptr<const TH2>>
VecTH2;
29 typedef std::vector<double>
VecD;
30 typedef std::vector<TString>
StrV;
51 double trackWIDTH,
double nTrk,
double Tile0,
double EM3,
int Nsegments,
double ChargedFraction,
double caloWIDTH,
double N90Constituents,
double TileGap3)
const;
65 if (etabins.size()==0)
ATH_MSG_ERROR(
"Please check that the punch through eta binning is properly set in your config file");
70 if (minPt < 0)
ATH_MSG_ERROR(
"Error determining the punch through minimum pT");
77 const TH2& respFactors)
const;
Scalar eta() const
pseudorapidity method
GlobalSequentialCorrection()
bool m_turnOffTrackCorrections
std::vector< TString > StrV
VecTH2 m_respFactorsPunchThrough
double getChargedFractionResponse(double pT, uint etabin, double ChargedFraction) const
VecTH2 m_respFactorsTileGap3
void setPunchThroughEtaBins(const VecD &etabins)
double getEM3Response(double pT, uint etabin, double EM3) const
uint m_caloWIDTHMaxEtaBin
double getGSCCorrection(xAOD::JetFourMom_t jetP4, double eta, double trackWIDTH, double nTrk, double Tile0, double EM3, int Nsegments, double ChargedFraction, double caloWIDTH, double N90Constituents, double TileGap3) const
double m_punchThroughMinPt
void setPunchThroughMinPt(double minPt)
double getN90ConstituentsResponse(double pT, uint etabin, double N90Constituents) const
VecTH2 m_respFactorsChargedFraction
uint m_N90ConstituentsMaxEtaBin
VecTH2 m_respFactorstrackWIDTH
VecD m_punchThroughEtaBins
double getCaloWIDTHResponse(double pT, uint etabin, double caloWIDTH) const
virtual StatusCode initialize() override
double readPtJetPropertyHisto(double pT, double jetProperty, const TH2 &respFactors) const
uint m_trackWIDTHMaxEtaBin
std::vector< double > VecD
virtual StatusCode calibrate(xAOD::Jet &jet, JetEventInfo &) const override
double getTrackWIDTHResponse(double pT, uint etabin, double trackWIDTH) const
VecTH2 m_respFactorscaloWIDTH
double getTileGap3Response(double pT, uint etabin, double TileGap3) const
double getPunchThroughResponse(double E, double eta_det, int Nsegments) const
bool m_pTResponseRequirementOff
uint m_chargedFractionMaxEtaBin
double getNTrkResponse(double pT, uint etabin, double nTrk) const
double m_turnOffStartingpT
VecTH2 m_respFactorsTile0
VecTH2 m_respFactorsN90Constituents
double getJetPropertyMax(TString jetPropName, unsigned int etabin)
double getTile0Response(double pT, uint etabin, double Tile0) const
std::vector< std::unique_ptr< const TH2 > > VecTH2
JetCalibrationStep(const char *name="JetCalibrationStep")
std::string depth
tag string for intendation
Jet_v1 Jet
Definition of the current "jet version".
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.