ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
JetForwardJvtToolBDT Class Reference

#include <JetForwardJvtToolBDT.h>

Inheritance diagram for JetForwardJvtToolBDT:
Collaboration diagram for JetForwardJvtToolBDT:

Public Member Functions

 JetForwardJvtToolBDT (const std::string &name)
 Constructor with parameters: More...
 
virtual ~JetForwardJvtToolBDT ()
 Destructor: More...
 
virtual StatusCode initialize () override
 Dummy implementation of the initialisation function. More...
 
virtual StatusCode decorate (const xAOD::JetContainer &jetCont) const override
 Decorate a jet collection without otherwise modifying it. More...
 
StatusCode getInputs (const xAOD::Jet *jet) const
 
float getMVfJVT (const xAOD::Jet *jet, int pvind, const std::vector< TVector2 > &pileupMomenta) const
 
float getFJVT (const xAOD::Jet *jet, int pvind, const std::vector< TVector2 > &pileupMomenta) const
 
bool forwardJet (const xAOD::Jet *jet) const
 
bool centralJet (const xAOD::Jet *jet) const
 
float getDrpt (const xAOD::Jet *jet) const
 
int getJetVertex (const xAOD::Jet *jet) const
 
bool passMVfJVT (float mvfjvt, float pt, float eta) const
 
StatusCode tagTruth (const xAOD::JetContainer *jets, const xAOD::JetContainer *truthJets)
 
std::vector< TVector2 > calculateVertexMomenta (const xAOD::JetContainer *jets, int pvind) const
 
int getPV () const
 
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 > &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 modify (xAOD::JetContainer &jets) const override final
 Concrete implementation of the function inherited from IJetModifier. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

Gaudi::Property< std::string > m_configDir {this, "configDir", "JetPileupTag/MVfJVT/", "Configuration directory"}
 
Gaudi::Property< std::vector< std::string > > m_MVconfig
 
Gaudi::Property< std::string > m_wpFile {this, "WPfile", "MVfJVT_WPs.Nov2019.root", "WP file"}
 
std::unique_ptr< TFile > m_wpFileIn
 
std::unique_ptr< TMVA::Reader > m_MVreader
 
std::unique_ptr< TH3D > m_mvfjvtThresh
 
Gaudi::Property< double > m_etaThresh {this, "EtaThresh", 2.5, "Eta threshold"}
 
Gaudi::Property< double > m_forwardMinPt {this, "ForwardMinPt", 20e3, "Forward minimum pt"}
 
Gaudi::Property< double > m_forwardMaxPt {this, "ForwardMaxPt", 120e3, "Forward maximum pt"}
 
Gaudi::Property< double > m_centerMinPt {this, "CentralMinPt", 20e3, "Central minimum pt"}
 
Gaudi::Property< double > m_centerMaxPt {this, "CentralMaxPt", -1, "Central maximum pt (set to -1 for no limit)"}
 
Gaudi::Property< double > m_centerJvtThresh {this, "CentralJvtThresh", 0.11, "Central JVT threshold"}
 
Gaudi::Property< std::string > m_jvtMomentName {this, "JvtMomentName", "Jvt", "SG key for JVT moment"}
 
Gaudi::Property< double > m_centerDrptThresh {this, "CentralDrptThresh", 0.2, "Central drpt threshold"}
 
Gaudi::Property< double > m_maxStochPt {this, "CentralMaxStochPt", 35e3, "Central maximum stochpt"}
 
Gaudi::Property< double > m_jetScaleFactor {this, "JetScaleFactor", 0.4, "Jet scale factor"}
 
Gaudi::Property< std::string > m_OP {this, "OperatingPoint", "DEFAULT", "Selected operating point, can be 'LOOSE', 'TIGHT' or 'TIGHTER'"}
 
Gaudi::Property< bool > m_getTagger {this, "retrieveTagger", false, "Whether to retrieve the tagger"}
 
Gaudi::Property< bool > m_isAna {this, "AnaToolMode", false, "True if running in AnaTool mode"}
 
Gaudi::Property< int > m_pvind {this, "PVIndexHS", -1, ""}
 
Gaudi::Property< std::string > m_jetContainerName {this, "JetContainer", "", "SG key of input jet container"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_outMVKey {this, "OutputDecMV", "passMVFJVT", "SG key for the output MV decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_mvfjvtKey {this, "MVFJVTName", "MVfJVT", "SG key for the output MVfJVT decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_cllambda2Key {this, "cllambda2Name", "LeadclSecondLambda", "SG key for the LeadclSecondLambda decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_clwidthKey {this, "cletawidthName", "LeadclWidth", "SG key for the cluster eta width decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_clisoKey {this, "clisoName", "SumclIso", "SG key for the cluster isolation decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_clemprobKey {this, "clemprobName", "SumclEMprob", "SG key for the cluster EMprob decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_cleKey {this, "cleName", "Sumcle", "SG key for the cluster energy decoration"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_lcllambda2NTKey {this, "lcllambda2NTName", "LeadingClusterSecondLambda", "Leading cluster second lambda to use if getTagger is false"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_lcllambda2Key {this, "lcllambda2Name", "DFCommonJets_MVfJVT_LeadclSecondLambda", "Leading cluster second lambda to use if getTagger is true"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_lclwidthKey {this, "lclwidthName", "DFCommonJets_MVfJVT_LeadclWidth", "Leading cluster width to use if getTagger is true"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_lclisoKey {this, "lclisoName", "DFCommonJets_MVfJVT_SumclIso", "Leading cluster isolation to use if getTagger is true"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_lclemprobKey {this, "lclemprobName", "DFCommonJets_MVfJVT_SumclEMprob", "Leading cluster EMprob to use if getTagger is true"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_lcleKey {this, "lcleName", "DFCommonJets_MVfJVT_Sumcle", "Leading cluster energy to use if getTagger is true"}
 
SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey {this, "EventInfoName", "EventInfo", "SG key for input EventInfo"}
 
SG::ReadHandleKey< xAOD::VertexContainerm_vertexContainerKey {this, "VertexContainerName", "PrimaryVertices", "SG key for input vertex container"}
 
SG::ReadHandleKey< xAOD::CaloClusterContainerm_caloClusterContainerKey {this, "CaloClusterContainerName" "CaloCalTopoClusters", "SG key for input calo cluster container"}
 
SG::ReadHandleKey< xAOD::MissingETContainerm_trkMetKey {this, "TrackMetName", "MET_Track", "SG key for input track MET container"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_isHSKey {this, "isHSName", "isJvtHS", "SG key for output isHS decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_isPUKey {this, "isPUName", "isJvtPU", "SG key for output isPU decoration"}
 
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
 

Detailed Description

Definition at line 45 of file JetForwardJvtToolBDT.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ JetForwardJvtToolBDT()

JetForwardJvtToolBDT::JetForwardJvtToolBDT ( const std::string &  name)

Constructor with parameters:

Definition at line 27 of file JetForwardJvtToolBDT.cxx.

27  :
29 {
30 }

◆ ~JetForwardJvtToolBDT()

JetForwardJvtToolBDT::~JetForwardJvtToolBDT ( )
virtualdefault

Destructor:

Member Function Documentation

◆ calculateVertexMomenta()

std::vector< TVector2 > JetForwardJvtToolBDT::calculateVertexMomenta ( const xAOD::JetContainer jets,
int  pvind 
) const

Definition at line 351 of file JetForwardJvtToolBDT.cxx.

351  {
352 
353  std::vector<TVector2> pileupMomenta;
354 
356  if( !trkMetHandle.isValid() ) {
357  ATH_MSG_WARNING(" xAOD::MissingETContainer " << m_trkMetKey.key() << "is invalid");
358  return pileupMomenta;
359  }
361  if( !vxContHandle.isValid() ) {
362  ATH_MSG_WARNING(" xAOD::VertexContainer " << m_vertexContainerKey.key() << "is invalid");
363  return pileupMomenta;
364  }
365  ATH_MSG_DEBUG("In JetForwardJvtToolBDT::calculateVertexMomenta : Starting vertex loop ");
366  for(const xAOD::Vertex *vx : *vxContHandle) {
367  ATH_MSG_DEBUG(" --> VertexType="<<vx->vertexType());
368  if(vx->vertexType()!=xAOD::VxType::PriVtx && vx->vertexType()!=xAOD::VxType::PileUp) continue;
369  TString vname = "PVTrack_vx";
370  vname += vx->index();
371  pileupMomenta.push_back((vx->index()==(size_t)pvind?0:-(1./m_jetScaleFactor))*TVector2(0.5*(*trkMetHandle)[vname.Data()]->mpx(),0.5*(*trkMetHandle)[vname.Data()]->mpy()));
372  }
373  for (const xAOD::Jet *jet : *jets) {
374  if (!centralJet(jet)) continue;
375  int jetvert = getJetVertex(jet);
376  if (jetvert>=0) pileupMomenta[jetvert] += TVector2(0.5*jet->pt()*cos(jet->phi()),0.5*jet->pt()*sin(jet->phi()));
377  }
378 
379  return pileupMomenta;
380 }

◆ centralJet()

bool JetForwardJvtToolBDT::centralJet ( const xAOD::Jet jet) const

Definition at line 389 of file JetForwardJvtToolBDT.cxx.

389  {
390 
391  if (fabs(jet->eta())>m_etaThresh) return false;
392  if (jet->pt()<m_centerMinPt || (m_centerMaxPt>0 && jet->pt()>m_centerMaxPt)) return false;
393  float jvt = 0;
394  jet->getAttribute<float>(m_jvtMomentName,jvt);
395  if (jvt>m_centerJvtThresh) return false;
396  if (jet->pt()<m_maxStochPt && getDrpt(jet)<m_centerDrptThresh) return false;
397  return true;
398 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ decorate()

StatusCode JetForwardJvtToolBDT::decorate ( const xAOD::JetContainer jets) const
overridevirtual

Decorate a jet collection without otherwise modifying it.

Implements IJetDecorator.

Definition at line 132 of file JetForwardJvtToolBDT.cxx.

132  {
133 
134  // -- Retrieve PV index if not provided by user
135  //pvind = (m_pvind.value()==-1) ? getPV() : m_pvind;
136  int pvind = m_pvind.value();
137  if(pvind == -1) pvind = getPV();
138 
139  ATH_MSG_DEBUG("In JetForwardJvtToolBDT::modify: PV index = " << pvind);
140  if( pvind == -1 ){
141  ATH_MSG_WARNING( "Something went wrong with the HS primary vertex identification." );
142  return StatusCode::FAILURE;
143  }
144 
147 
153  std::vector<TVector2> pileupMomenta;
154  for(const xAOD::Jet *jetF : jetCont) {
155 
156  float mvfjvt = -2;
157  outMVHandle(*jetF) = 1;
158  cllambda2Handle(*jetF) = 0;
159  clwidthHandle(*jetF) = 0;
160  cleHandle(*jetF) = 0;
161  clisoHandle(*jetF) = 0;
162  clemprobHandle(*jetF) = 0;
163 
164  // -- Get PU vertices momenta sums, then compute tagger value for forward jets
165  if ( forwardJet(jetF) ){
166  if( pileupMomenta.empty() ) {
167  pileupMomenta = calculateVertexMomenta(&jetCont, pvind);
168  if( pileupMomenta.empty() ) {
169  ATH_MSG_DEBUG( "pileupMomenta is empty, this can happen for events with no PU vertices. fJVT won't be computed for this event and will be set to 0 instead." );
170  mvfjvtHandle(*jetF) = 0;
171  continue;
172  }
173  }
174  mvfjvt = getMVfJVT(jetF, pvind, pileupMomenta);
175  if(m_isAna) outMVHandle(*jetF) = passMVfJVT( mvfjvt, jetF->pt()/(GeV), fabs(jetF->eta()) );
176  mvfjvtHandle(*jetF) = mvfjvt;
177  }
178  }
179  return StatusCode::SUCCESS;
180 
181 }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

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

◆ forwardJet()

bool JetForwardJvtToolBDT::forwardJet ( const xAOD::Jet jet) const

Definition at line 382 of file JetForwardJvtToolBDT.cxx.

382  {
383 
384  if (fabs(jet->eta())<m_etaThresh) return false;
385  if (jet->pt()<m_forwardMinPt || jet->pt()>m_forwardMaxPt) return false;
386  return true;
387 }

◆ getDrpt()

float JetForwardJvtToolBDT::getDrpt ( const xAOD::Jet jet) const

Definition at line 415 of file JetForwardJvtToolBDT.cxx.

415  {
416 
417  std::vector<float> sumpts;
418  jet->getAttribute<std::vector<float> >("SumPtTrkPt500",sumpts);
419  if (sumpts.size()<2) return 0;
420 
421  std::nth_element(sumpts.begin(),sumpts.begin()+sumpts.size()/2,sumpts.end(),std::greater<int>());
422  double median = sumpts[sumpts.size()/2];
423  std::nth_element(sumpts.begin(),sumpts.begin(),sumpts.end(),std::greater<int>());
424  double max = sumpts[0];
425  return (max-median)/jet->pt();
426 }

◆ getFJVT()

float JetForwardJvtToolBDT::getFJVT ( const xAOD::Jet jet,
int  pvind,
const std::vector< TVector2 > &  pileupMomenta 
) const

Definition at line 184 of file JetForwardJvtToolBDT.cxx.

184  {
185 
186  TVector2 fjet(-jet->pt()*cos(jet->phi()),-jet->pt()*sin(jet->phi()));
187  double fjvt = 0;
188  ATH_MSG_DEBUG("In JetForwardJvtToolBDT::getFJVT -----> Starting looping on vertices (pileupMomenta.size() = "<<pileupMomenta.size());
189  for (size_t pui = 0; pui < pileupMomenta.size(); pui++) {
190  if (pui!=(size_t)pvind){
191  double projection = pileupMomenta[pui]*fjet/fjet.Mod();
192  if (projection>fjvt) fjvt = projection;
193  }
194  }
195  return fjvt;
196 }

◆ getInputs()

StatusCode JetForwardJvtToolBDT::getInputs ( const xAOD::Jet jet) const

Definition at line 286 of file JetForwardJvtToolBDT.cxx.

286  {
292 
293  if(!m_getTagger){
295  cllambda2Handle(*jet) = lcllambda2NTHandle(*jet);
296 
297  // -- Additional variables computed from cluster information
299  if( !clustersHandle.isValid() ) {
300  ATH_MSG_ERROR(" xAOD::CaloClusterContainer " << m_caloClusterContainerKey.key() << "is invalid");
301  return StatusCode::FAILURE;
302  }
303 
304  int ind = 0;
305  float maxpt = 0;
306  float cle1 = 0;
307  float cliso1 = 0;
308  float clemprob1 = 0;
309  float cle2 = 0;
310 
311  // Loop over clusters within DeltaR<0.6 of the jet axis to compute the (energy-weighted) moment sums used in the BDT definitions
312  static const SG::ConstAccessor<float> ISOLATIONAcc ("ISOLATION");
313  static const SG::ConstAccessor<float> EM_PROBABILITYAcc ("EM_PROBABILITY");
314  for (const xAOD::CaloCluster *cl: *clustersHandle) {
315  if(cl->p4().DeltaR(jet->p4())>0.6) continue;
316  cle1 += cl->e();
317  cle2 += cl->e()*cl->e();
318  cliso1 += ISOLATIONAcc(*cl)*cl->e()*cl->e();
319  clemprob1 += EM_PROBABILITYAcc(*cl)*cl->e()*cl->e();
320  if(cl->rawE()/cosh(cl->rawEta()) > maxpt){
321  maxpt = cl->rawE()/cosh(cl->rawEta());
322  ind = cl->index();
323  }
324  }
325  const xAOD::CaloCluster *cl = clustersHandle->at(ind);
326  static const SG::ConstAccessor<float> SECOND_RAcc ("SECOND_R");
327  static const SG::ConstAccessor<float> CENTER_MAGAcc ("CENTER_MAG");
328  clwidthHandle(*jet) = TMath::CosH(cl->rawEta()) * TMath::ATan2( TMath::Sqrt(SECOND_RAcc(*cl)),
329  CENTER_MAGAcc(*cl));
330 
331  cleHandle(*jet) = cle1;
332  clisoHandle(*jet)= cliso1/cle2;
333  clemprobHandle(*jet) =clemprob1/cle2;
334 
335  } else {
341 
342  cllambda2Handle(*jet) = lcllambda2Handle(*jet);
343  clwidthHandle(*jet) = lclwidthHandle(*jet);
344  clisoHandle(*jet) = lclisoHandle(*jet);
345  clemprobHandle(*jet) = lclemprobHandle(*jet);
346  cleHandle(*jet) = lcleHandle(*jet);
347  }
348  return StatusCode::SUCCESS;
349 }

◆ getJetVertex()

int JetForwardJvtToolBDT::getJetVertex ( const xAOD::Jet jet) const

Definition at line 400 of file JetForwardJvtToolBDT.cxx.

400  {
401 
402  std::vector<float> sumpts;
403  jet->getAttribute<std::vector<float> >("SumPtTrkPt500",sumpts);
404  double firstVal = 0;
405  int bestMatch = -1;
406  for (size_t i = 0; i < sumpts.size(); i++) {
407  if (sumpts[i]>firstVal) {
408  bestMatch = i;
409  firstVal = sumpts[i];
410  }
411  }
412  return bestMatch;
413 }

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void *  ptr) const
inherited

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
ptrThe 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.

119  {
120 
121 #ifdef XAOD_STANDALONE
122  // In case we use @c xAOD::TEvent, we have a direct function call
123  // for this.
124  return evtStore()->event()->getKey( ptr );
125 #else
126  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127  return ( proxy == nullptr ? 0 : proxy->sgkey() );
128 #endif // XAOD_STANDALONE
129  }

◆ getMVfJVT()

float JetForwardJvtToolBDT::getMVfJVT ( const xAOD::Jet jet,
int  pvind,
const std::vector< TVector2 > &  pileupMomenta 
) const

Definition at line 199 of file JetForwardJvtToolBDT.cxx.

199  {
200 
201  static const SG::ConstAccessor<float> MVfJVTAcc ("MVfJVT");
202  if(m_isAna && !m_getTagger) return MVfJVTAcc(*jet);
203 
205  if( sc.isFailure() ) {
206  ATH_MSG_WARNING(" Could not calculate BDT inputs");
207  return -2;
208  }
209 
211  if ( !eventInfoHandle.isValid() ) {
212  ATH_MSG_WARNING(" xAOD::EventInfo " << m_eventInfoKey.key() << "is invalid");
213  return -2;
214  }
215  float mu = eventInfoHandle->actualInteractionsPerCrossing();
216 
217  if (!forwardJet(jet)) return -2;
218 
224 
225  std::vector<float> MVinputs;
226  MVinputs.push_back( getFJVT(jet, pvind, pileupMomenta)/jet->pt() );
227  MVinputs.push_back( jet->getAttribute<float>("Width") );
228  MVinputs.push_back( jet->getAttribute<float>("Timing") );
229  MVinputs.push_back( cllambda2Handle(*jet) );
230  MVinputs.push_back( clwidthHandle(*jet) );
231  MVinputs.push_back( cleHandle(*jet) );
232  MVinputs.push_back( clisoHandle(*jet) );
233  MVinputs.push_back( clemprobHandle(*jet) );
234 
235  float pt = jet->pt()/(GeV);
236  float eta = fabs(jet->eta());
237 
238  float score = -2.;
239  // TMVA::Reader::EvaluateMVA isn't thread-safe.
241  static std::mutex mutex;
242  std::lock_guard lock (mutex);
243  if ( pt < 30. && pt >= 20. && eta >= 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_1" ,1.);
244  else if ( pt < 30. && pt >= 20. && eta < 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_2" ,1.);
245  else if ( pt < 40. && pt >= 30. && eta >= 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_3" ,1.);
246  else if ( pt < 40. && pt >= 30. && eta < 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_4" ,1.);
247  else if ( pt < 50. && pt >= 40. && eta >= 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_5" ,1.);
248  else if ( pt < 50. && pt >= 40. && eta < 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_6" ,1.);
249  else if ( pt < 120. && pt >= 50. && eta >= 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_7" ,1.);
250  else if ( pt < 120. && pt >= 50. && eta < 3.2 && mu>=50. ) score = reader.EvaluateMVA( MVinputs, "BDT_8" ,1.);
251  else if ( pt < 30. && pt >= 20. && eta >= 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_9" ,1.);
252  else if ( pt < 30. && pt >= 20. && eta < 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_10" ,1.);
253  else if ( pt < 40. && pt >= 30. && eta >= 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_11" ,1.);
254  else if ( pt < 40. && pt >= 30. && eta < 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_12" ,1.);
255  else if ( pt < 50. && pt >= 40. && eta >= 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_13" ,1.);
256  else if ( pt < 50. && pt >= 40. && eta < 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_14" ,1.);
257  else if ( pt < 120. && pt >= 50. && eta >= 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_15" ,1.);
258  else if ( pt < 120. && pt >= 50. && eta < 3.2 && mu<50. ) score = reader.EvaluateMVA( MVinputs, "BDT_16" ,1.);
259 
260  ATH_MSG_DEBUG("pt = " << pt << " | eta = " << eta << " | mu = " << mu << " || MVfJVT = " << score );
261 
262  return score;
263 }

◆ 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
ptrThe 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.

106  {
107 
108 #ifdef XAOD_STANDALONE
109  // In case we use @c xAOD::TEvent, we have a direct function call
110  // for this.
111  return evtStore()->event()->getName( ptr );
112 #else
113  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114  static const std::string dummy = "";
115  return ( proxy == nullptr ? dummy : proxy->name() );
116 #endif // XAOD_STANDALONE
117  }

◆ getProperty()

template<class T >
const T* asg::AsgTool::getProperty ( const std::string &  name) const
inherited

Get one of the tool's properties.

◆ getPV()

int JetForwardJvtToolBDT::getPV ( ) const

Definition at line 428 of file JetForwardJvtToolBDT.cxx.

428  {
429 
431  if( !vxContHandle.isValid() ) {
432  ATH_MSG_WARNING(" xAOD::VertexContainer " << m_vertexContainerKey.key() << "is invalid");
433  return 0;
434  } else {
435  ATH_MSG_DEBUG("Successfully retrieved primary vertex container");
436  for(const xAOD::Vertex *vx : *vxContHandle) {
437  if(vx->vertexType()==xAOD::VxType::PriVtx) return vx->index();
438  }
439  }
440  ATH_MSG_DEBUG("Couldn't identify the hard-scatter primary vertex (no vertex with \"vx->vertexType()==xAOD::VxType::PriVtx\" in the container)!");
441  return 0;
442 }

◆ initialize()

StatusCode JetForwardJvtToolBDT::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 38 of file JetForwardJvtToolBDT.cxx.

39 {
40  ATH_MSG_INFO ("Initializing " << name() << "...");
41 
42  if(m_isAna){
43  // -- Retrieve MVfJVT WP configFile ONLY if tool used in 'Analysis mode'
44  std::string filename = PathResolverFindCalibFile(std::string(m_configDir)+m_wpFile);
45  if (filename.empty()){
46  ATH_MSG_ERROR ( "Could NOT resolve file name " << m_wpFile);
47  return StatusCode::FAILURE;
48  } else{
49  ATH_MSG_INFO(" Config Files Path found = "<<filename);
50  }
51 
52  // -- Retrieve WP histograms
53  m_wpFileIn = std::make_unique<TFile> (filename.c_str(),"read");
54 
55  if ( m_OP=="TIGHTER") {
56  m_mvfjvtThresh = std::unique_ptr< TH3D >( dynamic_cast<TH3D*>( m_wpFileIn->Get( "MVfJVT_tighter" ) ) );
57  } else if ( m_OP=="TIGHT" ) {
58  m_mvfjvtThresh = std::unique_ptr< TH3D >( dynamic_cast<TH3D*>( m_wpFileIn->Get( "MVfJVT_tight" ) ) );
59  } else if ( m_OP=="DEFAULT" || m_OP=="LOOSE" ) {
60  m_mvfjvtThresh = std::unique_ptr< TH3D >( dynamic_cast<TH3D*>( m_wpFileIn->Get( "MVfJVT_loose" ) ) );
61  } else {
62  ATH_MSG_ERROR(m_OP << " working point doesn't exist." );
63  return StatusCode::FAILURE;
64  }
65  m_mvfjvtThresh->SetDirectory(nullptr);
66  m_wpFileIn->Close();
67  }
68 
69  // -- Setup the tagger
70  m_MVreader = std::make_unique< TMVA::Reader > ( "Silent" );
71  float fjvt,width,time,cllambda2,cletawidth,cle,cliso,clemprob;
72  m_MVreader->AddVariable( "fjvtdist", &fjvt );
73  m_MVreader->AddVariable( "Width_jet", &width );
74  m_MVreader->AddVariable( "timedist", &time );
75  m_MVreader->AddVariable( "jet_LeadingClusterSecondLambda", &cllambda2 );
76  m_MVreader->AddVariable( "cl_etaWidthLead", &cletawidth );
77  m_MVreader->AddVariable( "clsum_e", &cle );
78  m_MVreader->AddVariable( "cl_ISOLATIONsumE", &cliso );
79  m_MVreader->AddVariable( "cl_EM_PROBABILITYsumE", &clemprob );
80  for(unsigned int i = 0; i<m_MVconfig.size(); ++i) m_MVreader->BookMVA(TString::Format("BDT_%i",i+1),PathResolverFindCalibFile(m_configDir+m_MVconfig.value().at(i)));
81 
82  // "passMVfJVT" flag
84  ATH_CHECK(m_outMVKey.initialize());
85 
86  // Moments values
88  ATH_CHECK(m_mvfjvtKey.initialize());
89 
94  m_cleKey = m_jetContainerName + "." + m_cleKey.key();
95 
96  ATH_CHECK(m_cllambda2Key.initialize());
97  ATH_CHECK(m_clwidthKey.initialize());
98  ATH_CHECK(m_clisoKey.initialize());
99  ATH_CHECK(m_clemprobKey.initialize());
100  ATH_CHECK(m_cleKey.initialize());
101 
107  m_lcleKey = m_jetContainerName + "." + m_lcleKey.key();
108 
109  ATH_CHECK(m_lcllambda2Key.initialize());
110  ATH_CHECK(m_lcllambda2NTKey.initialize());
111  ATH_CHECK(m_lclwidthKey.initialize());
112  ATH_CHECK(m_lclisoKey.initialize());
113  ATH_CHECK(m_lclemprobKey.initialize());
114  ATH_CHECK(m_lcleKey.initialize());
115 
117  ATH_CHECK(m_vertexContainerKey.initialize());
119  ATH_CHECK(m_trkMetKey.initialize());
120 
121  // Truth information
122  m_isHSKey = m_jetContainerName + "." + m_isHSKey.key();
123  m_isPUKey = m_jetContainerName + "." + m_isPUKey.key();
124 
125  ATH_CHECK(m_isHSKey.initialize());
126  ATH_CHECK(m_isPUKey.initialize());
127 
128  return StatusCode::SUCCESS;
129 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

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.

◆ modify()

virtual StatusCode IJetDecorator::modify ( xAOD::JetContainer jets) const
inlinefinaloverridevirtualinherited

Concrete implementation of the function inherited from IJetModifier.

Implements IJetModifier.

Definition at line 32 of file IJetDecorator.h.

32 {return decorate(jets);};

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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.

101  {
102 
103  return MSG::name( msg().level() );
104  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

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.

◆ passMVfJVT()

bool JetForwardJvtToolBDT::passMVfJVT ( float  mvfjvt,
float  pt,
float  eta 
) const

Definition at line 265 of file JetForwardJvtToolBDT.cxx.

265  {
266 
267  double mvfjvtThresh = -999.;
268 
270  if ( !eventInfoHandle.isValid() ) {
271  ATH_MSG_WARNING(" xAOD::EventInfo " << m_eventInfoKey.key() << "is invalid");
272  return true;
273  }
274 
275  float mu = eventInfoHandle->actualInteractionsPerCrossing();
276 
277  // -- Grab WP from histogram
278  mvfjvtThresh = m_mvfjvtThresh->GetBinContent(m_mvfjvtThresh->GetXaxis()->FindBin(pt),
279  m_mvfjvtThresh->GetYaxis()->FindBin(eta),
280  m_mvfjvtThresh->GetZaxis()->FindBin(mu));
281 
282  return mvfjvt==-2 || mvfjvt>mvfjvtThresh;
283 
284 }

◆ print()

void asg::AsgTool::print ( ) const
virtualinherited

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ tagTruth()

StatusCode JetForwardJvtToolBDT::tagTruth ( const xAOD::JetContainer jets,
const xAOD::JetContainer truthJets 
)

Definition at line 444 of file JetForwardJvtToolBDT.cxx.

444  {
447 
448  for(const xAOD::Jet *jet : *jets) {
449  bool ishs = false;
450  bool ispu = true;
451  for(const xAOD::Jet *tjet : *truthJets) {
452  if (tjet->p4().DeltaR(jet->p4())<0.3 && tjet->pt()>10e3) ishs = true;
453  if (tjet->p4().DeltaR(jet->p4())<0.6) ispu = false;
454  }
455  isHSHandle(*jet)=ishs;
456  isPUHandle(*jet)=ispu;
457  }
458  return StatusCode::SUCCESS;
459 }

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_caloClusterContainerKey

SG::ReadHandleKey<xAOD::CaloClusterContainer> JetForwardJvtToolBDT::m_caloClusterContainerKey {this, "CaloClusterContainerName" "CaloCalTopoClusters", "SG key for input calo cluster container"}
private

Definition at line 143 of file JetForwardJvtToolBDT.h.

◆ m_centerDrptThresh

Gaudi::Property<double> JetForwardJvtToolBDT::m_centerDrptThresh {this, "CentralDrptThresh", 0.2, "Central drpt threshold"}
private

Definition at line 115 of file JetForwardJvtToolBDT.h.

◆ m_centerJvtThresh

Gaudi::Property<double> JetForwardJvtToolBDT::m_centerJvtThresh {this, "CentralJvtThresh", 0.11, "Central JVT threshold"}
private

Definition at line 113 of file JetForwardJvtToolBDT.h.

◆ m_centerMaxPt

Gaudi::Property<double> JetForwardJvtToolBDT::m_centerMaxPt {this, "CentralMaxPt", -1, "Central maximum pt (set to -1 for no limit)"}
private

Definition at line 112 of file JetForwardJvtToolBDT.h.

◆ m_centerMinPt

Gaudi::Property<double> JetForwardJvtToolBDT::m_centerMinPt {this, "CentralMinPt", 20e3, "Central minimum pt"}
private

Definition at line 111 of file JetForwardJvtToolBDT.h.

◆ m_cleKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_cleKey {this, "cleName", "Sumcle", "SG key for the cluster energy decoration"}
private

Definition at line 132 of file JetForwardJvtToolBDT.h.

◆ m_clemprobKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_clemprobKey {this, "clemprobName", "SumclEMprob", "SG key for the cluster EMprob decoration"}
private

Definition at line 131 of file JetForwardJvtToolBDT.h.

◆ m_clisoKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_clisoKey {this, "clisoName", "SumclIso", "SG key for the cluster isolation decoration"}
private

Definition at line 130 of file JetForwardJvtToolBDT.h.

◆ m_cllambda2Key

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_cllambda2Key {this, "cllambda2Name", "LeadclSecondLambda", "SG key for the LeadclSecondLambda decoration"}
private

Definition at line 128 of file JetForwardJvtToolBDT.h.

◆ m_clwidthKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_clwidthKey {this, "cletawidthName", "LeadclWidth", "SG key for the cluster eta width decoration"}
private

Definition at line 129 of file JetForwardJvtToolBDT.h.

◆ m_configDir

Gaudi::Property<std::string> JetForwardJvtToolBDT::m_configDir {this, "configDir", "JetPileupTag/MVfJVT/", "Configuration directory"}
private

Definition at line 83 of file JetForwardJvtToolBDT.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_etaThresh

Gaudi::Property<double> JetForwardJvtToolBDT::m_etaThresh {this, "EtaThresh", 2.5, "Eta threshold"}
private

Definition at line 108 of file JetForwardJvtToolBDT.h.

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> JetForwardJvtToolBDT::m_eventInfoKey {this, "EventInfoName", "EventInfo", "SG key for input EventInfo"}
private

Definition at line 141 of file JetForwardJvtToolBDT.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_forwardMaxPt

Gaudi::Property<double> JetForwardJvtToolBDT::m_forwardMaxPt {this, "ForwardMaxPt", 120e3, "Forward maximum pt"}
private

Definition at line 110 of file JetForwardJvtToolBDT.h.

◆ m_forwardMinPt

Gaudi::Property<double> JetForwardJvtToolBDT::m_forwardMinPt {this, "ForwardMinPt", 20e3, "Forward minimum pt"}
private

Definition at line 109 of file JetForwardJvtToolBDT.h.

◆ m_getTagger

Gaudi::Property<bool> JetForwardJvtToolBDT::m_getTagger {this, "retrieveTagger", false, "Whether to retrieve the tagger"}
private

Definition at line 119 of file JetForwardJvtToolBDT.h.

◆ m_isAna

Gaudi::Property<bool> JetForwardJvtToolBDT::m_isAna {this, "AnaToolMode", false, "True if running in AnaTool mode"}
private

Definition at line 120 of file JetForwardJvtToolBDT.h.

◆ m_isHSKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_isHSKey {this, "isHSName", "isJvtHS", "SG key for output isHS decoration"}
private

Definition at line 146 of file JetForwardJvtToolBDT.h.

◆ m_isPUKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_isPUKey {this, "isPUName", "isJvtPU", "SG key for output isPU decoration"}
private

Definition at line 147 of file JetForwardJvtToolBDT.h.

◆ m_jetContainerName

Gaudi::Property<std::string> JetForwardJvtToolBDT::m_jetContainerName {this, "JetContainer", "", "SG key of input jet container"}
private

Definition at line 123 of file JetForwardJvtToolBDT.h.

◆ m_jetScaleFactor

Gaudi::Property<double> JetForwardJvtToolBDT::m_jetScaleFactor {this, "JetScaleFactor", 0.4, "Jet scale factor"}
private

Definition at line 117 of file JetForwardJvtToolBDT.h.

◆ m_jvtMomentName

Gaudi::Property<std::string> JetForwardJvtToolBDT::m_jvtMomentName {this, "JvtMomentName", "Jvt", "SG key for JVT moment"}
private

Definition at line 114 of file JetForwardJvtToolBDT.h.

◆ m_lcleKey

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_lcleKey {this, "lcleName", "DFCommonJets_MVfJVT_Sumcle", "Leading cluster energy to use if getTagger is true"}
private

Definition at line 139 of file JetForwardJvtToolBDT.h.

◆ m_lclemprobKey

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_lclemprobKey {this, "lclemprobName", "DFCommonJets_MVfJVT_SumclEMprob", "Leading cluster EMprob to use if getTagger is true"}
private

Definition at line 138 of file JetForwardJvtToolBDT.h.

◆ m_lclisoKey

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_lclisoKey {this, "lclisoName", "DFCommonJets_MVfJVT_SumclIso", "Leading cluster isolation to use if getTagger is true"}
private

Definition at line 137 of file JetForwardJvtToolBDT.h.

◆ m_lcllambda2Key

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_lcllambda2Key {this, "lcllambda2Name", "DFCommonJets_MVfJVT_LeadclSecondLambda", "Leading cluster second lambda to use if getTagger is true"}
private

Definition at line 135 of file JetForwardJvtToolBDT.h.

◆ m_lcllambda2NTKey

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_lcllambda2NTKey {this, "lcllambda2NTName", "LeadingClusterSecondLambda", "Leading cluster second lambda to use if getTagger is false"}
private

Definition at line 134 of file JetForwardJvtToolBDT.h.

◆ m_lclwidthKey

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_lclwidthKey {this, "lclwidthName", "DFCommonJets_MVfJVT_LeadclWidth", "Leading cluster width to use if getTagger is true"}
private

Definition at line 136 of file JetForwardJvtToolBDT.h.

◆ m_maxStochPt

Gaudi::Property<double> JetForwardJvtToolBDT::m_maxStochPt {this, "CentralMaxStochPt", 35e3, "Central maximum stochpt"}
private

Definition at line 116 of file JetForwardJvtToolBDT.h.

◆ m_MVconfig

Gaudi::Property<std::vector<std::string> > JetForwardJvtToolBDT::m_MVconfig
private
Initial value:
{this, "ConfigFiles", {
"weights/MVfJVT_pt2030_etaHigh_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt2030_etaLow_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt3040_etaHigh_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt3040_etaLow_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt4050_etaHigh_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt4050_etaLow_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt50plus_etaHigh_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt50plus_etaLow_muHigh.May2019.weights.xml",
"weights/MVfJVT_pt2030_etaHigh_muLow.May2019.weights.xml",
"weights/MVfJVT_pt2030_etaLow_muLow.May2019.weights.xml",
"weights/MVfJVT_pt3040_etaHigh_muLow.May2019.weights.xml",
"weights/MVfJVT_pt3040_etaLow_muLow.May2019.weights.xml",
"weights/MVfJVT_pt4050_etaHigh_muLow.May2019.weights.xml",
"weights/MVfJVT_pt4050_etaLow_muLow.May2019.weights.xml",
"weights/MVfJVT_pt50plus_etaHigh_muLow.May2019.weights.xml",
"weights/MVfJVT_pt50plus_etaLow_muLow.May2019.weights.xml"
}, "List of config file names"}

Definition at line 84 of file JetForwardJvtToolBDT.h.

◆ m_mvfjvtKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_mvfjvtKey {this, "MVFJVTName", "MVfJVT", "SG key for the output MVfJVT decoration"}
private

Definition at line 127 of file JetForwardJvtToolBDT.h.

◆ m_mvfjvtThresh

std::unique_ptr< TH3D > JetForwardJvtToolBDT::m_mvfjvtThresh
private

Definition at line 106 of file JetForwardJvtToolBDT.h.

◆ m_MVreader

std::unique_ptr< TMVA::Reader > JetForwardJvtToolBDT::m_MVreader
private

Definition at line 105 of file JetForwardJvtToolBDT.h.

◆ m_OP

Gaudi::Property<std::string> JetForwardJvtToolBDT::m_OP {this, "OperatingPoint", "DEFAULT", "Selected operating point, can be 'LOOSE', 'TIGHT' or 'TIGHTER'"}
private

Definition at line 118 of file JetForwardJvtToolBDT.h.

◆ m_outMVKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardJvtToolBDT::m_outMVKey {this, "OutputDecMV", "passMVFJVT", "SG key for the output MV decoration"}
private

Definition at line 125 of file JetForwardJvtToolBDT.h.

◆ m_pvind

Gaudi::Property<int> JetForwardJvtToolBDT::m_pvind {this, "PVIndexHS", -1, ""}
private

Definition at line 121 of file JetForwardJvtToolBDT.h.

◆ m_trkMetKey

SG::ReadHandleKey<xAOD::MissingETContainer> JetForwardJvtToolBDT::m_trkMetKey {this, "TrackMetName", "MET_Track", "SG key for input track MET container"}
private

Definition at line 144 of file JetForwardJvtToolBDT.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vertexContainerKey

SG::ReadHandleKey<xAOD::VertexContainer> JetForwardJvtToolBDT::m_vertexContainerKey {this, "VertexContainerName", "PrimaryVertices", "SG key for input vertex container"}
private

Definition at line 142 of file JetForwardJvtToolBDT.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_wpFile

Gaudi::Property<std::string> JetForwardJvtToolBDT::m_wpFile {this, "WPfile", "MVfJVT_WPs.Nov2019.root", "WP file"}
private

Definition at line 102 of file JetForwardJvtToolBDT.h.

◆ m_wpFileIn

std::unique_ptr< TFile > JetForwardJvtToolBDT::m_wpFileIn
private

Definition at line 104 of file JetForwardJvtToolBDT.h.


The documentation for this class was generated from the following files:
JetForwardJvtToolBDT::m_lcllambda2Key
SG::ReadDecorHandleKey< xAOD::JetContainer > m_lcllambda2Key
Definition: JetForwardJvtToolBDT.h:135
JetForwardJvtToolBDT::m_isHSKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isHSKey
Definition: JetForwardJvtToolBDT.h:146
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
JetForwardJvtToolBDT::m_etaThresh
Gaudi::Property< double > m_etaThresh
Definition: JetForwardJvtToolBDT.h:108
JetForwardJvtToolBDT::m_lclisoKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_lclisoKey
Definition: JetForwardJvtToolBDT.h:137
JetForwardJvtToolBDT::m_mvfjvtThresh
std::unique_ptr< TH3D > m_mvfjvtThresh
Definition: JetForwardJvtToolBDT.h:106
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
JetForwardJvtToolBDT::m_mvfjvtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_mvfjvtKey
Definition: JetForwardJvtToolBDT.h:127
JetForwardJvtToolBDT::m_centerMaxPt
Gaudi::Property< double > m_centerMaxPt
Definition: JetForwardJvtToolBDT.h:112
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
JetForwardJvtToolBDT::m_clwidthKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_clwidthKey
Definition: JetForwardJvtToolBDT.h:129
JetForwardJvtToolBDT::m_configDir
Gaudi::Property< std::string > m_configDir
Definition: JetForwardJvtToolBDT.h:83
JetForwardJvtToolBDT::centralJet
bool centralJet(const xAOD::Jet *jet) const
Definition: JetForwardJvtToolBDT.cxx:389
JetForwardJvtToolBDT::getDrpt
float getDrpt(const xAOD::Jet *jet) const
Definition: JetForwardJvtToolBDT.cxx:415
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
StateLessPT_NewConfig.Format
Format
Definition: StateLessPT_NewConfig.py:146
test_pyathena.pt
pt
Definition: test_pyathena.py:11
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
JetForwardJvtToolBDT::m_pvind
Gaudi::Property< int > m_pvind
Definition: JetForwardJvtToolBDT.h:121
InDet::median
float median(std::vector< float > &Vec)
Definition: BTagVrtSec.cxx:35
SG::ConstAccessor< float >
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
JetForwardJvtToolBDT::m_outMVKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_outMVKey
Definition: JetForwardJvtToolBDT.h:125
JetForwardJvtToolBDT::m_getTagger
Gaudi::Property< bool > m_getTagger
Definition: JetForwardJvtToolBDT.h:119
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
JetForwardJvtToolBDT::getJetVertex
int getJetVertex(const xAOD::Jet *jet) const
Definition: JetForwardJvtToolBDT.cxx:400
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
JetForwardJvtToolBDT::m_cllambda2Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_cllambda2Key
Definition: JetForwardJvtToolBDT.h:128
JetForwardJvtToolBDT::getInputs
StatusCode getInputs(const xAOD::Jet *jet) const
Definition: JetForwardJvtToolBDT.cxx:286
JetForwardJvtToolBDT::m_forwardMinPt
Gaudi::Property< double > m_forwardMinPt
Definition: JetForwardJvtToolBDT.h:109
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
JetForwardJvtToolBDT::m_trkMetKey
SG::ReadHandleKey< xAOD::MissingETContainer > m_trkMetKey
Definition: JetForwardJvtToolBDT.h:144
JetForwardJvtToolBDT::m_lcllambda2NTKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_lcllambda2NTKey
Definition: JetForwardJvtToolBDT.h:134
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
JetForwardJvtToolBDT::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: JetForwardJvtToolBDT.h:141
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
JetForwardJvtToolBDT::m_centerMinPt
Gaudi::Property< double > m_centerMinPt
Definition: JetForwardJvtToolBDT.h:111
SG::ReadDecorHandle
Handle class for reading a decoration on an object.
Definition: StoreGate/StoreGate/ReadDecorHandle.h:94
JetForwardJvtToolBDT::calculateVertexMomenta
std::vector< TVector2 > calculateVertexMomenta(const xAOD::JetContainer *jets, int pvind) const
Definition: JetForwardJvtToolBDT.cxx:351
lumiFormat.i
int i
Definition: lumiFormat.py:85
JetForwardJvtToolBDT::m_lclemprobKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_lclemprobKey
Definition: JetForwardJvtToolBDT.h:138
JetForwardJvtToolBDT::getFJVT
float getFJVT(const xAOD::Jet *jet, int pvind, const std::vector< TVector2 > &pileupMomenta) const
Definition: JetForwardJvtToolBDT.cxx:184
JetForwardJvtToolBDT::m_clemprobKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_clemprobKey
Definition: JetForwardJvtToolBDT.h:131
JetForwardJvtToolBDT::passMVfJVT
bool passMVfJVT(float mvfjvt, float pt, float eta) const
Definition: JetForwardJvtToolBDT.cxx:265
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
JetForwardJvtToolBDT::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: JetForwardJvtToolBDT.h:123
JetForwardJvtToolBDT::m_wpFileIn
std::unique_ptr< TFile > m_wpFileIn
Definition: JetForwardJvtToolBDT.h:104
xAOD::VxType::PriVtx
@ PriVtx
Primary vertex.
Definition: TrackingPrimitives.h:571
LHEF::Reader
Pythia8::Reader Reader
Definition: Prophecy4fMerger.cxx:11
JetForwardJvtToolBDT::m_lclwidthKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_lclwidthKey
Definition: JetForwardJvtToolBDT.h:136
JetForwardJvtToolBDT::m_clisoKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_clisoKey
Definition: JetForwardJvtToolBDT.h:130
python.xAODType.dummy
dummy
Definition: xAODType.py:4
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MSG::name
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition: MsgLevel.cxx:19
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
JetForwardJvtToolBDT::m_forwardMaxPt
Gaudi::Property< double > m_forwardMaxPt
Definition: JetForwardJvtToolBDT.h:110
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
xAOD::VxType::PileUp
@ PileUp
Pile-up vertex.
Definition: TrackingPrimitives.h:573
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
JetForwardJvtToolBDT::m_isPUKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isPUKey
Definition: JetForwardJvtToolBDT.h:147
JetForwardJvtToolBDT::m_caloClusterContainerKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_caloClusterContainerKey
Definition: JetForwardJvtToolBDT.h:143
JetForwardJvtToolBDT::m_jetScaleFactor
Gaudi::Property< double > m_jetScaleFactor
Definition: JetForwardJvtToolBDT.h:117
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:431
xAOD::score
@ score
Definition: TrackingPrimitives.h:513
JetForwardJvtToolBDT::m_MVreader
std::unique_ptr< TMVA::Reader > m_MVreader
Definition: JetForwardJvtToolBDT.h:105
JetForwardJvtToolBDT::m_cleKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_cleKey
Definition: JetForwardJvtToolBDT.h:132
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetForwardJvtToolBDT::m_wpFile
Gaudi::Property< std::string > m_wpFile
Definition: JetForwardJvtToolBDT.h:102
a
TList * a
Definition: liststreamerinfos.cxx:10
h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
IJetDecorator::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const =0
Decorate a jet collection without otherwise modifying it.
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
GeV
const double GeV
Definition: JetForwardJvtToolBDT.cxx:20
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
JetForwardJvtToolBDT::m_maxStochPt
Gaudi::Property< double > m_maxStochPt
Definition: JetForwardJvtToolBDT.h:116
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
JetForwardJvtToolBDT::m_jvtMomentName
Gaudi::Property< std::string > m_jvtMomentName
Definition: JetForwardJvtToolBDT.h:114
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
JetForwardJvtToolBDT::m_OP
Gaudi::Property< std::string > m_OP
Definition: JetForwardJvtToolBDT.h:118
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
JetForwardJvtToolBDT::m_centerDrptThresh
Gaudi::Property< double > m_centerDrptThresh
Definition: JetForwardJvtToolBDT.h:115
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
JetForwardJvtToolBDT::getMVfJVT
float getMVfJVT(const xAOD::Jet *jet, int pvind, const std::vector< TVector2 > &pileupMomenta) const
Definition: JetForwardJvtToolBDT.cxx:199
JetForwardJvtToolBDT::m_isAna
Gaudi::Property< bool > m_isAna
Definition: JetForwardJvtToolBDT.h:120
JetForwardJvtToolBDT::m_lcleKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_lcleKey
Definition: JetForwardJvtToolBDT.h:139
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
JetForwardJvtToolBDT::getPV
int getPV() const
Definition: JetForwardJvtToolBDT.cxx:428
collisions.reader
reader
read the goodrunslist xml file(s)
Definition: collisions.py:22
JetForwardJvtToolBDT::forwardJet
bool forwardJet(const xAOD::Jet *jet) const
Definition: JetForwardJvtToolBDT.cxx:382
SG::DataProxy
Definition: DataProxy.h:45
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
JetForwardJvtToolBDT::m_vertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
Definition: JetForwardJvtToolBDT.h:142
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
fitman.k
k
Definition: fitman.py:528
JetForwardJvtToolBDT::m_centerJvtThresh
Gaudi::Property< double > m_centerJvtThresh
Definition: JetForwardJvtToolBDT.h:113
JetForwardJvtToolBDT::m_MVconfig
Gaudi::Property< std::vector< std::string > > m_MVconfig
Definition: JetForwardJvtToolBDT.h:84
LArGeo::ATan2
GeoGenfun::FunctionNoop ATan2(GeoGenfun::GENFUNCTION y, GeoGenfun::GENFUNCTION x)
Definition: BarrelAuxFunctions.cxx:50