 |
ATLAS Offline Software
|
#include <EtaJESCalibStep.h>
|
| | EtaJESCalibStep (const std::string &name="EtaJESCalibStep") |
| |
| virtual StatusCode | initialize () override |
| | Dummy implementation of the initialisation function. More...
|
| |
| virtual StatusCode | calibrate (xAOD::JetContainer &) const override |
| | Apply calibration to a jet container. More...
|
| |
| virtual void | print () const |
| | Print the state of the tool. More...
|
| |
| ServiceHandle< StoreGateSvc > & | evtStore () |
| | The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
|
| |
| const ServiceHandle< StoreGateSvc > & | evtStore () const |
| | The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
|
| |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
| | The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
|
| |
| virtual StatusCode | sysInitialize () override |
| | Perform system initialization for an algorithm. More...
|
| |
| virtual StatusCode | sysStart () override |
| | Handle START transition. More...
|
| |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| | Return this algorithm's input handles. More...
|
| |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| | Return this algorithm's output handles. More...
|
| |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| | Declare a new Gaudi property. More...
|
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| | Declare a new Gaudi property. More...
|
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| | Declare a new Gaudi property. More...
|
| |
| Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| | Declare a new Gaudi property. More...
|
| |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| |
| MsgStream & | msg () const |
| |
| MsgStream & | msg (const MSG::Level lvl) const |
| |
| bool | msgLvl (const MSG::Level lvl) const |
| |
| virtual StatusCode | getNominalResolutionData (const xAOD::Jet &, const JetHelper::JetContext &, double &) const |
| |
| virtual StatusCode | getNominalResolutionMC (const xAOD::Jet &, const JetHelper::JetContext &, double &) const |
| |
|
| double | getLogPolN (const double *factors, double x) const |
| |
| double | getLogPolNSlope (const double *factors, double x) const |
| |
| int | getEtaBin (double eta_det) const |
| |
| bool | readMCJESFromText () |
| |
| bool | readMCJESFromHists () |
| |
| void | loadSplineHists (const std::string &fileName, const std::string &etajes_name) |
| |
| double | getJES (const double X, const double Y=0, const double Emax=-1) const |
| | return MCJES calibration factor More...
|
| |
| double | getEtaCorr (double X, double Y=0) const |
| | return Eta correction More...
|
| |
| double | getEmaxJES (const double Y) const |
| | return Emax More...
|
| |
| double | getLowPtJES (double E_uncorr, double eta_det) const |
| | deal with low pt jets More...
|
| |
| double | getSplineCorr (const int etaBin, double E) const |
| |
| double | getSplineSlope (const int ieta, const double minE) const |
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
| |
|
| Gaudi::Property< std::string > | m_jetInScale {this, "InScale", "JetPileupScaleMomentum", "Starting jet scale"} |
| |
| Gaudi::Property< std::string > | m_jetOutScale {this, "OutScale", "JetEtaJESScaleMomentum", "Ending jet scale"} |
| |
| Gaudi::Property< std::string > | m_constantFileName { this, "CalibConstantFile", "/afs/cern.ch/work/s/stapiaar/JetDev4/athena/JetToolHelpers/data/file_JES.config", "text file containing constants" } |
| | name of the text file More...
|
| |
| Gaudi::Property< std::string > | m_jetAlgo { this, "JetAlgo", "AntiKt4EMPFlow", "jet collection" } |
| | jet collection to be calibrated More...
|
| |
| Gaudi::Property< float > | m_minPt_JES = {this, "MinPtForETAJES",15, "min pT"} |
| |
| Gaudi::Property< bool > | m_freezeJESatHighE = {this, "FreezeJEScorrectionatHighE",false, " freeze at high e"} |
| |
| Gaudi::Property< float > | m_lowPtExtrap = {this, "LowPtJESExtrapolationMethod", 0, " low pt etrap"} |
| |
| Gaudi::Property< float > | m_lowPtMinR = {this, "LowPtJESExtrapolationMinimumResponse", 0.25, " low pt etrap min"} |
| |
| Gaudi::Property< float > | m_minPt_EtaCorr = {this, "MinPtForEtaCorr" ,8. , ""} |
| |
| Gaudi::Property< float > | m_maxE_EtaCorr = {this, "MaxEForEtaCorr" ,2500. , ""} |
| |
| Gaudi::Property< std::string > | m_histoFileName { this, "HistoFile", "none", "root file containing histos for spline calib" } |
| |
| Gaudi::Property< bool > | m_useSpline = {this, "UseSpline",false, " use spline"} |
| |
| Gaudi::Property< std::vector< double > > | m_etaBins {this, "EtaBins", {} ,""} |
| | Eta bins if other than 0.1 steps from -4.5 to 4.5. More...
|
| |
| ToolHandle< JetHelper::IVarTool > | m_vartoolE {this, "VarToolE", "VarTool", "InputVariable instance E (or pT?)" } |
| |
| ToolHandle< JetHelper::IVarTool > | m_vartoolEta {this, "VarToolEta", "VarTool", "InputVariable instance eta (or rapididty?)" } |
| | interface for xAOD::jet variable to be defined by user, this must correspond to jet Eta in currect version of jet calibration files More...
|
| |
| unsigned int | m_nPar {} |
| |
| double | m_JESFactors [s_nEtaBins][s_nParMax] {} |
| |
| double | m_etaCorrFactors [s_nEtaBins][s_nParMax] {} |
| |
| double | m_energyFreezeJES [s_nEtaBins] {} |
| |
| double | m_JES_MinPt_Slopes [s_nEtaBins] ={} |
| |
| double | m_JES_MinPt_E [s_nEtaBins] ={} |
| |
| double | m_JES_MinPt_R [s_nEtaBins] ={} |
| |
| TAxis * | m_etaBinAxis {} |
| |
| std::vector< std::unique_ptr< TH1 > > | m_etajesFactors |
| |
| StoreGateSvc_t | m_evtStore |
| | Pointer to StoreGate (event store by default) More...
|
| |
| StoreGateSvc_t | m_detStore |
| | Pointer to StoreGate (detector store by default) More...
|
| |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| |
| bool | m_varHandleArraysDeclared |
| |
Definition at line 31 of file EtaJESCalibStep.h.
◆ StoreGateSvc_t
◆ EtaJESCalibStep()
| EtaJESCalibStep::EtaJESCalibStep |
( |
const std::string & |
name = "EtaJESCalibStep" | ) |
|
◆ calibrate()
Apply calibration to a jet container.
Implements IJetCalibStep.
Definition at line 46 of file EtaJESCalibStep.cxx.
55 jet->setJetP4(jetStartP4);
64 double jesCorrection =
getJES(varE, varEta,
Emax);
71 const float etaCorr = calibP4.eta() +
getEtaCorr(jesCorrection*varE, varEta) ;
75 TLorentzVector TLVjet;
76 TLVjet.SetPtEtaPhiM( calibP4.P()/cosh(etaCorr), etaCorr, calibP4.phi(), calibP4.M() );
77 calibP4.SetPxPyPzE( TLVjet.Px(), TLVjet.Py(), TLVjet.Pz(), TLVjet.E() );
78 ATH_MSG_DEBUG(
"JES = "<<jesCorrection <<
" e="<<varE <<
" eta="<<jetStartP4.Eta()<<
" ieta="<< ieta <<
" post_pt= ="<< calibP4.Pt() <<
" etaCorr="<< etaCorr);
81 jesScaleMomAcc.setAttribute(*
jet, calibP4);
82 jet->setJetP4(calibP4);
85 return StatusCode::SUCCESS;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| hndl | Object holding the property value. |
| doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| hndl | Object holding the property value. |
| doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| property | Object holding the property value. |
| doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
| name | Name of the property. |
| property | Object holding the property value. |
| doc | Documentation string for the property. |
This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getEmaxJES()
| double EtaJESCalibStep::getEmaxJES |
( |
const double |
Y | ) |
const |
|
private |
◆ getEtaBin()
| int EtaJESCalibStep::getEtaBin |
( |
double |
eta_det | ) |
const |
|
private |
◆ getEtaCorr()
| double EtaJESCalibStep::getEtaCorr |
( |
double |
X, |
|
|
double |
Y = 0 |
|
) |
| const |
|
private |
◆ getJES()
| double EtaJESCalibStep::getJES |
( |
const double |
X, |
|
|
const double |
Y = 0, |
|
|
const double |
Emax = -1 |
|
) |
| const |
|
private |
◆ getKey()
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getName
- Parameters
-
| ptr | The bare pointer to the object that the event store should know about |
- Returns
- The hashed key of the object in the store. If not found, an invalid (zero) key.
Definition at line 119 of file AsgTool.cxx.
121 #ifdef XAOD_STANDALONE
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getLogPolN()
| double EtaJESCalibStep::getLogPolN |
( |
const double * |
factors, |
|
|
double |
x |
|
) |
| const |
|
private |
◆ getLogPolNSlope()
| double EtaJESCalibStep::getLogPolNSlope |
( |
const double * |
factors, |
|
|
double |
x |
|
) |
| const |
|
private |
◆ getLowPtJES()
| double EtaJESCalibStep::getLowPtJES |
( |
double |
E_uncorr, |
|
|
double |
eta_det |
|
) |
| const |
|
private |
deal with low pt jets
Definition at line 249 of file EtaJESCalibStep.cxx.
261 R = slope*(E_uncorr-Ecutoff)+Rcutoff;
263 else ATH_MSG_WARNING(
"Incorrect specification of low Pt JES extrapolation, please check the value of the LowPtJESExtrapolationMethod config flag.");
◆ getName()
| const std::string & asg::AsgTool::getName |
( |
const void * |
ptr | ) |
const |
|
inherited |
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getKey
- Parameters
-
| ptr | The bare pointer to the object that the event store should know about |
- Returns
- The string name of the object in the store. If not found, an empty string.
Definition at line 106 of file AsgTool.cxx.
108 #ifdef XAOD_STANDALONE
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getNominalResolutionData()
◆ getNominalResolutionMC()
◆ getProperty()
template<class T >
| const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ getSplineCorr()
| double EtaJESCalibStep::getSplineCorr |
( |
const int |
etaBin, |
|
|
double |
E |
|
) |
| const |
|
private |
◆ getSplineSlope()
| double EtaJESCalibStep::getSplineSlope |
( |
const int |
ieta, |
|
|
const double |
minE |
|
) |
| const |
|
private |
◆ initialize()
| StatusCode EtaJESCalibStep::initialize |
( |
| ) |
|
|
overridevirtual |
Dummy implementation of the initialisation function.
It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...
Reimplemented from asg::AsgTool.
Definition at line 23 of file EtaJESCalibStep.cxx.
31 return StatusCode::FAILURE;
36 return StatusCode::FAILURE;
43 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ loadSplineHists()
| void EtaJESCalibStep::loadSplineHists |
( |
const std::string & |
fileName, |
|
|
const std::string & |
etajes_name |
|
) |
| |
|
private |
Definition at line 318 of file EtaJESCalibStep.cxx.
320 std::unique_ptr<TFile> tmpF(TFile::Open(
fileName.c_str() ));
321 TList *etajes_l =
static_cast<TList*
>( tmpF->Get(etajes_name.c_str()));
325 ATH_MSG_WARNING(
"Do not have the correct number of eta bins for " <<
fileName <<
"\t" << etajes_name <<
"\t" << etajes_l->GetSize() );
329 auto *pTH1 =
dynamic_cast<TH1*
>(etajes_l->At(
i));
330 if (not pTH1)
continue;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msg_level_name()
| const std::string & asg::AsgTool::msg_level_name |
( |
| ) |
const |
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
MSG::name( msg().level() )
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
- Returns
- The string name of the current minimum message level that's printed
Definition at line 101 of file AsgTool.cxx.
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ print()
| void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, LundVariablesTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ readMCJESFromHists()
| bool EtaJESCalibStep::readMCJESFromHists |
( |
| ) |
|
|
private |
Definition at line 156 of file EtaJESCalibStep.cxx.
165 std::string jetAlgo=
static_cast<std::string
> (
m_jetAlgo);
169 for (
int i=0;
i<=90;
i++)
182 ATH_MSG_ERROR(
"Only linear extrapolations are supported for p-splines currently. Please change the config file to reflect this");
192 if(Slope > Rcutoff/Ecutoff)
ATH_MSG_WARNING(
"Slope of calibration curve at minimum ET is too steep for the JES factors of etabin " << ieta <<
", eta = " <<
etaBins[ieta] );
198 TString
key=Form(
"EmaxJES.%s_Bin%d",jetAlgo.c_str(),ieta);
203 key=Form(
"EtaCorr.%s_Bin%d",jetAlgo.c_str(),ieta);
◆ readMCJESFromText()
| bool EtaJESCalibStep::readMCJESFromText |
( |
| ) |
|
|
private |
Definition at line 89 of file EtaJESCalibStep.cxx.
98 std::string jetAlgo=
static_cast<std::string
> (
m_jetAlgo);
102 for (
int i=0;
i<=90;
i++)
112 TString
key=Form(
"JES.%s_Bin%d",jetAlgo.c_str(),ieta);
123 const double Rcutoff =
getLogPolN(factors,Ecutoff);
125 if(Slope > Rcutoff/Ecutoff)
ATH_MSG_FATAL(
"Slope of calibration curve at minimum ET is too steep for the JES factors of etabin " << ieta <<
", eta = " <<
etaBins[ieta] );
134 ATH_MSG_ERROR(
"LowPtJESExtrapolationMethod==2 not supported yet");
139 key=Form(
"EtaCorr.%s_Bin%d",jetAlgo.c_str(),ieta);
146 key=Form(
"EmaxJES.%s_Bin%d",jetAlgo.c_str(),ieta);
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_constantFileName
| Gaudi::Property< std::string > EtaJESCalibStep::m_constantFileName { this, "CalibConstantFile", "/afs/cern.ch/work/s/stapiaar/JetDev4/athena/JetToolHelpers/data/file_JES.config", "text file containing constants" } |
|
private |
◆ m_detStore
◆ m_energyFreezeJES
| double EtaJESCalibStep::m_energyFreezeJES[s_nEtaBins] {} |
|
private |
◆ m_etaBinAxis
| TAxis* EtaJESCalibStep::m_etaBinAxis {} |
|
private |
◆ m_etaBins
| Gaudi::Property<std::vector<double> > EtaJESCalibStep::m_etaBins {this, "EtaBins", {} ,""} |
|
private |
Eta bins if other than 0.1 steps from -4.5 to 4.5.
Definition at line 83 of file EtaJESCalibStep.h.
◆ m_etaCorrFactors
◆ m_etajesFactors
| std::vector<std::unique_ptr<TH1> > EtaJESCalibStep::m_etajesFactors |
|
private |
◆ m_evtStore
◆ m_freezeJESatHighE
| Gaudi::Property< bool > EtaJESCalibStep::m_freezeJESatHighE = {this, "FreezeJEScorrectionatHighE",false, " freeze at high e"} |
|
private |
◆ m_histoFileName
| Gaudi::Property< std::string > EtaJESCalibStep::m_histoFileName { this, "HistoFile", "none", "root file containing histos for spline calib" } |
|
private |
◆ m_JES_MinPt_E
| double EtaJESCalibStep::m_JES_MinPt_E[s_nEtaBins] ={} |
|
private |
◆ m_JES_MinPt_R
| double EtaJESCalibStep::m_JES_MinPt_R[s_nEtaBins] ={} |
|
private |
◆ m_JES_MinPt_Slopes
| double EtaJESCalibStep::m_JES_MinPt_Slopes[s_nEtaBins] ={} |
|
private |
◆ m_JESFactors
◆ m_jetAlgo
| Gaudi::Property< std::string > EtaJESCalibStep::m_jetAlgo { this, "JetAlgo", "AntiKt4EMPFlow", "jet collection" } |
|
private |
◆ m_jetInScale
| Gaudi::Property<std::string> EtaJESCalibStep::m_jetInScale {this, "InScale", "JetPileupScaleMomentum", "Starting jet scale"} |
|
private |
◆ m_jetOutScale
| Gaudi::Property<std::string> EtaJESCalibStep::m_jetOutScale {this, "OutScale", "JetEtaJESScaleMomentum", "Ending jet scale"} |
|
private |
◆ m_lowPtExtrap
| Gaudi::Property< float > EtaJESCalibStep::m_lowPtExtrap = {this, "LowPtJESExtrapolationMethod", 0, " low pt etrap"} |
|
private |
◆ m_lowPtMinR
| Gaudi::Property< float > EtaJESCalibStep::m_lowPtMinR = {this, "LowPtJESExtrapolationMinimumResponse", 0.25, " low pt etrap min"} |
|
private |
◆ m_maxE_EtaCorr
| Gaudi::Property< float > EtaJESCalibStep::m_maxE_EtaCorr = {this, "MaxEForEtaCorr" ,2500. , ""} |
|
private |
◆ m_minPt_EtaCorr
| Gaudi::Property< float > EtaJESCalibStep::m_minPt_EtaCorr = {this, "MinPtForEtaCorr" ,8. , ""} |
|
private |
◆ m_minPt_JES
| Gaudi::Property< float > EtaJESCalibStep::m_minPt_JES = {this, "MinPtForETAJES",15, "min pT"} |
|
private |
◆ m_nPar
| unsigned int EtaJESCalibStep::m_nPar {} |
|
private |
◆ m_useSpline
| Gaudi::Property< bool > EtaJESCalibStep::m_useSpline = {this, "UseSpline",false, " use spline"} |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vartoolE
◆ m_vartoolEta
interface for xAOD::jet variable to be defined by user, this must correspond to jet Eta in currect version of jet calibration files
Definition at line 87 of file EtaJESCalibStep.h.
◆ m_vhka
◆ s_nEtaBins
| const unsigned int EtaJESCalibStep::s_nEtaBins = 90 |
|
staticprivate |
◆ s_nParMax
| const unsigned int EtaJESCalibStep::s_nParMax = 9 |
|
staticprivate |
The documentation for this class was generated from the following files:
double m_JES_MinPt_Slopes[s_nEtaBins]
Gaudi::Property< std::string > m_constantFileName
name of the text file
double getSplineSlope(const int ieta, const double minE) const
double m_etaCorrFactors[s_nEtaBins][s_nParMax]
int getEtaBin(double eta_det) const
Class JetContext Designed to read AOD information related to the event, N vertices,...
void loadSplineHists(const std::string &fileName, const std::string &etajes_name)
Gaudi::Property< std::string > m_jetInScale
bool readMCJESFromHists()
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Gaudi::Property< float > m_minPt_EtaCorr
std::vector< std::unique_ptr< TH1 > > m_etajesFactors
#define ATH_MSG_VERBOSE(x)
double m_JES_MinPt_E[s_nEtaBins]
Gaudi::Property< std::string > m_jetOutScale
Gaudi::Property< std::vector< double > > m_etaBins
Eta bins if other than 0.1 steps from -4.5 to 4.5.
virtual void setOwner(IDataHandleHolder *o)=0
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Gaudi::Property< float > m_lowPtExtrap
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin
double getLogPolNSlope(const double *factors, double x) const
double m_energyFreezeJES[s_nEtaBins]
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
double getEtaCorr(double X, double Y=0) const
return Eta correction
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Gaudi::Property< bool > m_freezeJESatHighE
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
ToolHandle< JetHelper::IVarTool > m_vartoolEta
interface for xAOD::jet variable to be defined by user, this must correspond to jet Eta in currect ve...
double getLowPtJES(double E_uncorr, double eta_det) const
deal with low pt jets
Gaudi::Property< std::string > m_histoFileName
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Gaudi::Property< float > m_minPt_JES
double getEmaxJES(const double Y) const
return Emax
#define ATH_MSG_WARNING(x)
Gaudi::Property< bool > m_useSpline
double m_JES_MinPt_R[s_nEtaBins]
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
double getLogPolN(const double *factors, double x) const
VecD VectorizeD(const TString &str, const TString &sep=" ")
Gaudi::Property< float > m_maxE_EtaCorr
double m_JESFactors[s_nEtaBins][s_nParMax]
double getSplineCorr(const int etaBin, double E) const
double getJES(const double X, const double Y=0, const double Emax=-1) const
return MCJES calibration factor
Gaudi::Property< std::string > m_jetAlgo
jet collection to be calibrated
ToolHandle< JetHelper::IVarTool > m_vartoolE