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

#include <JetBalancePFlowJvtTool.h>

Inheritance diagram for JetBalancePFlowJvtTool:
Collaboration diagram for JetBalancePFlowJvtTool:

Public Member Functions

 JetBalancePFlowJvtTool (const std::string &name)
 Constructor with parameters: More...
 
virtual ~JetBalancePFlowJvtTool ()
 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...
 
bool isQCDPUJet (const xAOD::Jet *jet) const
 
virtual std::vector< TVector2 > calculateVertexMomenta (const xAOD::JetContainer *jets, int pvind, int vertices) const override
 
StatusCode tagTruth (const xAOD::JetContainer *jets, const xAOD::JetContainer *truthJets, const xAOD::JetContainer *itpujets, const xAOD::JetContainer *ootpujets)
 
float getFJVT (const xAOD::Jet *jet, const std::vector< TVector2 > &pileupMomenta) const
 
bool isForwardJet (const xAOD::Jet *jet) const
 
bool isCentralJet (const xAOD::Jet *jet) const
 
StatusCode tagTruth (const xAOD::JetContainer *jets, const xAOD::JetContainer *truthJets)
 
pflow::puJets buildPFlowPUjets (const xAOD::Vertex &vx) const
 
bool hasCloseByHSjet (const xAOD::Jet *jet, const xAOD::JetContainer *pjets) const
 
double getRpt (const xAOD::Jet *jet) const
 
fastjet::PseudoJet pfoToPseudoJet (const xAOD::PFO *pfo, const CP::PFO_JetMETConfig_charge &theCharge, const xAOD::Vertex *vx) const
 
fastjet::PseudoJet feToPseudoJet (const xAOD::FlowElement *fe, const CP::PFO_JetMETConfig_charge &theCharge, const xAOD::Vertex *vx) const
 
std::size_t 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...
 

Protected Attributes

Gaudi::Property< float > m_QCDPUMinPt {this, "QCDPUMinPt", 20e3, "Minimum pt cut value for central PU jets contributing in the missing momentum calculation"}
 
Gaudi::Property< float > m_QCDPUMaxPt {this, "QCDPUMaxPt", -1, "Maximum pt cut value for central PU jets contributing in the missing momentum calculation. If -1 no threshold is applied"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_bjvtKey {this, "BjvtName", "passOnlyBJVT", "Decorator for passing bJVT threshold (tight or loose)"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_bjvtRawKey {this, "BjvtRawName", "bJvt", "Decorator for raw bJVT variable"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_isQCDPUKey {this, "isQCDPUName", "isJvtQCDPU", "SG key for output isJVTQCDPU decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_isStochPUKey {this, "isStochPUName", "isJvtStochPU", "SG key for output isJVTStochPU decoration"}
 
float m_bjvtThresh
 
SG::ReadHandleKey< jet::TrackVertexAssociationm_tvaKey {this, "TrackVertexAssociation", "", "Input track-vertex association"}
 
Gaudi::Property< std::string > m_jetContainerName {this, "JetContainer", "", "SG key for the input jet container"}
 
Gaudi::Property< std::string > m_jetsName {this, "jetsName", "AntiKt4PUPFlowJets", "Container name for the output reconstructed PU jets"}
 
Gaudi::Property< std::string > m_jetchargedp4 {this, "jetchargedp4", "JetChargedScaleMomentum", "Name of the jet charged momentum 4-vector"}
 
Gaudi::Property< bool > m_isdata {this, "isdata", false, "True if data"}
 
Gaudi::Property< int > m_pvind {this, "pvind", -1, "Hard-Scatter primary vertex index of the event. If -1 it will be automatically retrieved from the event"}
 
Gaudi::Property< int > m_vertices {this, "vertices", 10, "Number of vertices for which the missing momentum is calculated"}
 
Gaudi::Property< bool > m_includePV {this, "includePV", false, "Flag to include jets and tracks associated to PV in the calculation"}
 
Gaudi::Property< double > m_etaThresh {this, "etaThresh", 2.5, "Maximum eta value for considering a jet as central"}
 
Gaudi::Property< double > m_forwardMinPt {this, "forwardMinPt", 18e3, "Minimum forward jet pt"}
 
Gaudi::Property< double > m_forwardMaxPt {this, "forwardMaxPt", -1, "Maximum forward jet pt. If -1 no threshold is applied"}
 
Gaudi::Property< double > m_centerMinPt {this, "centralMinPt", 20e3, "Minimum central jet pt"}
 
Gaudi::Property< double > m_centerMaxPt {this, "centralMaxPt", -1, "Maximum central jet pt. If -1 no threshold is applied"}
 
Gaudi::Property< double > m_fjvtThresh {this, "fjvtThresh", 15e3, "fjvt threshold value"}
 
Gaudi::Property< double > m_rptCut {this, "rptCut", 0.1, "Rpt cut value for central PU jets contributing in the missing momentum calculation"}
 
Gaudi::Property< double > m_jvtCut {this, "jvtCut", 0.2, "JVT threshold value for considering a central PU jet as HS"}
 
Gaudi::Property< double > m_dzCut {this, "dzCut", 2.0, "Dz=z=-z0 cut for pfo objects participating in the HS vertex jet reco"}
 
Gaudi::Property< double > m_maxRap {this, "maxRap", 2.5, "Maximum rapidity value in fastjet::AreaDefinition"}
 
Gaudi::Property< double > m_neutMaxRap {this, "neutMaxRap", 2.5, "Maximum rapidity value for neutral pfos participating in jet reco"}
 
Gaudi::Property< float > m_weight {this, "weight", 0, "PFO weight value"}
 
Gaudi::Property< bool > m_tightOP {this, "tightOP", false, "If true a tight fjvt threshold value is applied"}
 
SG::ReadHandleKey< xAOD::VertexContainerm_vxContKey {this, "verticesName", "PrimaryVertices", "Container name of vertices to be retrieved"}
 
SG::ReadHandleKey< xAOD::PFOContainerm_PFOKey {this, "PFOName", "CHSParticleFlowObjects", "SG Key for CHS PFO Container"}
 
SG::ReadHandleKey< xAOD::FlowElementContainerm_FEKey {this, "FEName", "", "SG Key for CHS FlowElement Container (overrides PFO if not empty)"}
 
SG::ReadDecorHandleKey< xAOD::JetContainerm_passJvtKey {this, "passJvtName", "NNJvtPass", "SG key for output pass-JVT decoration"}
 
SG::ReadDecorHandleKey< xAOD::PFOm_orKey {this, "ORName", "", "OR label"}
 
SG::ReadDecorHandleKey< xAOD::FlowElementm_orFEKey {this, "ORNameFE", "", "OR label"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_fjvtKey {this, "FjvtName", "passOnlyFJVT", "Decorator for passing fJVT threshold (tight or loose)"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_fjvtRawKey {this, "FjvtRawName", "fJvt", "Decorator for raw fJVT variable"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_isHSKey {this, "isHSName", "isJVTHS", "SG key for output isJVTHS decoration"}
 
SG::WriteDecorHandleKey< xAOD::JetContainerm_isPUKey {this, "isPUName", "isJvtPU", "SG key for output isJVTPU decoration"}
 
ToolHandle< CP::WeightPFOToolm_wpfotool {this,"WeightPFOTool", "", "Weight PFO tool name"}
 
ToolHandle< IJetCalibrationToolm_pfoJES {this,"JetCalibrationTool", "", "Jet calibration tool name"}
 

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

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 94 of file JetBalancePFlowJvtTool.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

◆ JetBalancePFlowJvtTool()

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

Constructor with parameters:

Definition at line 33 of file JetBalancePFlowJvtTool.cxx.

33  :
35  m_bjvtThresh = 0;
36  }

◆ ~JetBalancePFlowJvtTool()

JetBalancePFlowJvtTool::~JetBalancePFlowJvtTool ( )
virtualdefault

Destructor:

Member Function Documentation

◆ buildPFlowPUjets()

pflow::puJets JetForwardPFlowJvtTool::buildPFlowPUjets ( const xAOD::Vertex vx) const
inherited

Definition at line 186 of file JetForwardPFlowJvtTool.cxx.

186  {
187  pflow::puJets pu_jets;
188  const std::size_t pv_index = (m_pvind==-1) ? getPV() : std::size_t (m_pvind);
189 
190  std::vector<fastjet::PseudoJet> input_pfo;
191  std::set<int> charged_pfo;
192 
194 
195  if (!tvaHandle.isValid()){
196  ATH_MSG_ERROR("Could not retrieve the TrackVertexAssociation: "
197  << m_tvaKey.key());
198  return pu_jets;
199  }
200 
201  if(!m_FEKey.empty()){
203 
204  for(const xAOD::FlowElement* fe : *FlowElementHandle){
205  if (!m_orFEKey.key().empty()){
207  if (!orHandle(*fe)) continue;
208  }
209  if (fe->isCharged()) {
210  const xAOD::TrackParticle* track = dynamic_cast<const xAOD::TrackParticle*>(fe->chargedObject(0));
211 
212  if (vx.index()==pv_index && std::abs((vx.z()-track->z0())*sin(track->theta()))>m_dzCut)
213  continue;
214  if (vx.index()!=pv_index
215  && (!tvaHandle->associatedVertex(track)
216  || vx.index()!=tvaHandle->associatedVertex(track)->index())
217  ) continue;
218  input_pfo.push_back(feToPseudoJet(fe, CP::charged, &vx) );
219  charged_pfo.insert(fe->index());
220  }
221  else if (std::abs(fe->eta())<m_neutMaxRap && !fe->isCharged() && fe->e()>0)
222  {
223  input_pfo.push_back(feToPseudoJet(fe, CP::neutral, &vx) );
224  }
225  }
226  }
227  else{
229 
230  for(const xAOD::PFO* pfo : *PFOHandle){
231  if (!m_orKey.key().empty()){
233  if (!orHandle(*pfo)) continue;
234  }
235  if (pfo->isCharged()) {
236  if (vx.index()==pv_index && std::abs((vx.z()-pfo->track(0)->z0())*sin(pfo->track(0)->theta()))>m_dzCut)
237  continue;
238  if (vx.index()!=pv_index
239  && (!tvaHandle->associatedVertex(pfo->track(0))
240  || vx.index()!=tvaHandle->associatedVertex(pfo->track(0))->index())
241  ) continue;
242  input_pfo.push_back(pfoToPseudoJet(pfo, CP::charged, &vx) );
243  charged_pfo.insert(pfo->index());
244  }
245  else if (std::abs(pfo->eta())<m_neutMaxRap && !pfo->isCharged() && pfo->eEM()>0)
246  {
247  input_pfo.push_back(pfoToPseudoJet(pfo, CP::neutral, &vx) );
248  }
249  }
250  }
251 
252  std::shared_ptr<xAOD::JetContainer> vertjets = std::make_shared<xAOD::JetContainer>();
253  std::shared_ptr<xAOD::JetAuxContainer> vertjetsAux = std::make_shared<xAOD::JetAuxContainer>();
254 
255  vertjets->setStore(vertjetsAux.get());
256  TString newname = m_jetsName.value();
257  newname += vx.index();
258 
259  fastjet::JetDefinition jet_def(fastjet::antikt_algorithm,0.4);
260  fastjet::AreaDefinition area_def(fastjet::active_area_explicit_ghosts,
261  fastjet::GhostedAreaSpec(fastjet::SelectorAbsRapMax(m_maxRap)));
262  fastjet::ClusterSequenceArea clust_pfo(input_pfo,jet_def,area_def);
263  std::vector<fastjet::PseudoJet> inclusive_jets = sorted_by_pt(clust_pfo.inclusive_jets(5000.));
264 
265  for (size_t i = 0; i < inclusive_jets.size(); i++) {
266  xAOD::Jet* jet= new xAOD::Jet();
267  xAOD::JetFourMom_t tempjetp4(inclusive_jets[i].pt(),
268  inclusive_jets[i].eta(),
269  inclusive_jets[i].phi(),
270  inclusive_jets[i].m());
271  xAOD::JetFourMom_t newArea(inclusive_jets[i].area_4vector().perp(),
272  inclusive_jets[i].area_4vector().eta(),
273  inclusive_jets[i].area_4vector().phi(),
274  inclusive_jets[i].area_4vector().m());
275  vertjets->push_back(jet);
276  jet->setJetP4(tempjetp4);
277  jet->setJetP4("JetConstitScaleMomentum",tempjetp4);
278  jet->setJetP4("JetPileupScaleMomentum",tempjetp4);
279  jet->setAttribute("ActiveArea4vec",newArea);
280  jet->setAttribute("DetectorEta",jet->eta());
281  std::vector<fastjet::PseudoJet> constituents = inclusive_jets[i].constituents();
282  float chargedpart = 0;
283  for (size_t j = 0; j < constituents.size(); j++) {
284  if (charged_pfo.count(constituents[j].user_index())>=1) {
285  chargedpart += constituents[j].perp();
286  }
287  }
288  xAOD::JetFourMom_t chargejetp4(chargedpart,inclusive_jets[i].eta(),inclusive_jets[i].phi(),inclusive_jets[i].m());
289  jet->setJetP4(m_jetchargedp4,chargejetp4);
290  }
291 
292  if((m_pfoJES->modify(*vertjets)).isFailure()){
293  ATH_MSG_ERROR(" Failed to calibrate PU jet container ");
294  return pu_jets;
295  }
296 
297  pu_jets.jetCont = vertjets;
298  pu_jets.jetAuxCont = vertjetsAux;
299  return pu_jets;
300  }

◆ calculateVertexMomenta()

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

Reimplemented from JetForwardPFlowJvtTool.

Definition at line 133 of file JetBalancePFlowJvtTool.cxx.

134  {
135  std::vector<TVector2> pileupMomenta;
136  // -- Retrieve PV index if not provided by user
137  const std::size_t pv_index = (pvind==-1) ? getPV() : std::size_t(pvind);
138 
140 
141  for(const xAOD::Vertex* vx: *vxContHandle) {
142  if(vx->vertexType()!=xAOD::VxType::PriVtx && vx->vertexType()!=xAOD::VxType::PileUp) continue;
143  if(vx->index()==(size_t)pv_index) continue;
144 
145  TString jname = m_jetsName.value();
146  jname += vx->index();
147 
148  pflow::puJets vertjets = buildPFlowPUjets(*vx);
149  if( !vertjets.jetCont || !vertjets.jetAuxCont ){
150  ATH_MSG_WARNING(" Some issue appeared while building the pflow pileup jets for vertex "
151  << vx->index() << " (vxType = " << vx->vertexType()<<" )!" );
152  return pileupMomenta;
153  }
154 
155  TVector2 vertex_met;
156  for( const xAOD::Jet *jet : *(vertjets.jetCont) ) {
157 
158  // Remove jets which are close to hs
159  if (!m_includePV && hasCloseByHSjet(jet,pjets)) continue;
160 
161  // Calculate vertex missing momentum
162  if (isQCDPUJet(jet) && getRpt(jet)> m_rptCut)
163  {
164  vertex_met += TVector2(jet->pt()*cos(jet->phi()),jet->pt()*sin(jet->phi()) ) ;
165  }
166  else{
167  vertex_met += TVector2(jet->jetP4(m_jetchargedp4).Pt()*cos(jet->jetP4(m_jetchargedp4).Phi()),
168  jet->jetP4(m_jetchargedp4).Pt()*sin(jet->jetP4(m_jetchargedp4).Phi()) );
169  }
170  }
171 
172  pileupMomenta.push_back(vertex_met);
173  if(vertices!=-1 && int(vx->index())==vertices) break;
174  }
175  return pileupMomenta;
176  }

◆ 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 JetBalancePFlowJvtTool::decorate ( const xAOD::JetContainer jets) const
overridevirtual

Decorate a jet collection without otherwise modifying it.

Reimplemented from JetForwardPFlowJvtTool.

Definition at line 104 of file JetBalancePFlowJvtTool.cxx.

104  {
105  std::vector<TVector2> pileupMomenta;
106  pileupMomenta=calculateVertexMomenta(&jetCont,m_pvind, m_vertices);
109  if(pileupMomenta.empty()) {
110  ATH_MSG_DEBUG( "pileupMomenta is empty, this can happen for events with no PU vertices."
111  <<" bJVT won't be computed for this event and will be set to 0 instead." );
112  for(const xAOD::Jet* jetC : jetCont) {
113  bjvtHandle(*jetC) = 1;
114  bjvtRawHandle(*jetC) = 0;
115  }
116  return StatusCode::SUCCESS;
117  }
118 
119  for(const xAOD::Jet* jetC : jetCont) {
120  bjvtHandle(*jetC) = 1;
121  bjvtRawHandle(*jetC) = 0;
122 
123  if (isCentralJet(jetC)){
124  double bjvt = getFJVT(jetC,pileupMomenta); //Same projection function as fJVT
125  if (bjvt>m_bjvtThresh) bjvtHandle(*jetC) = 0;
126  bjvtRawHandle(*jetC) = bjvt;
127  }
128  }
129  return StatusCode::SUCCESS;
130  }

◆ 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

◆ feToPseudoJet()

fastjet::PseudoJet JetForwardPFlowJvtTool::feToPseudoJet ( const xAOD::FlowElement fe,
const CP::PFO_JetMETConfig_charge theCharge,
const xAOD::Vertex vx 
) const
inherited

Definition at line 324 of file JetForwardPFlowJvtTool.cxx.

324  {
325  TLorentzVector fe_p4;
326  if (CP::charged == theCharge){
327  float pweight = m_weight;
328  if( (m_wpfotool->fillWeight(*fe,pweight)).isSuccess() ){
329  // Create a Peeudojet with the momentum of the selected IParticle
330  fe_p4= TLorentzVector(fe->p4().Px()*pweight,fe->p4().Py()*pweight,fe->p4().Pz()*pweight,fe->e()*pweight);
331  }
332  } else if (CP::neutral == theCharge){
333  fe_p4=FEHelpers::getVertexCorrectedFourVec(*fe, *vx);
334  }
335  fastjet::PseudoJet psj(fe_p4);
336  // User index is used to identify the xAOD object used for the PseudoJet
337  if (CP::charged == theCharge){
338  psj.set_user_index(fe->index());
339  }else{
340  psj.set_user_index(-1);
341  }
342 
343  return psj;
344  }

◆ getFJVT()

float JetForwardPFlowJvtTool::getFJVT ( const xAOD::Jet jet,
const std::vector< TVector2 > &  pileupMomenta 
) const
inherited

Definition at line 121 of file JetForwardPFlowJvtTool.cxx.

121  {
122  TVector2 fjet(jet->pt()*cos(jet->phi()),jet->pt()*sin(jet->phi()));
123  double fjvt = 0;
124  for (const TVector2& pu : pileupMomenta) {
125  double projection = pu*fjet/fjet.Mod();
126  if (projection<fjvt) fjvt = projection;
127  }
128  return -1*fjvt/fjet.Mod();
129  }

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

◆ 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()

std::size_t JetForwardPFlowJvtTool::getPV ( ) const
inherited

Definition at line 364 of file JetForwardPFlowJvtTool.cxx.

364  {
365  if (m_includePV) return -1;
366 
367  //const xAOD::VertexContainer *vxCont = 0;
369  ATH_MSG_DEBUG("Successfully retrieved primary vertex container");
370  for(const xAOD::Vertex *vx : *vxContHandle) {
371  if(vx->vertexType()==xAOD::VxType::PriVtx) return vx->index();
372  }
373  // If no verticies are found in the event the Primary Vertex container will just contain a dummy vertex and no primary vertex
374  if(vxContHandle->empty() ){
375  ATH_MSG_ERROR("Primary vertex container is empty ");
376  } else if(vxContHandle->size() != 1 ){
377  ATH_MSG_WARNING("Couldn't identify the hard-scatter primary vertex (no vertex with \"vx->vertexType()==xAOD::VxType::PriVtx\" in the container)! ");
378  }
379  // this almost certainly isn't what we should do here, the
380  // caller doesn't check this for errors
381  return 0;
382  }

◆ getRpt()

double JetForwardPFlowJvtTool::getRpt ( const xAOD::Jet jet) const
inherited

Definition at line 358 of file JetForwardPFlowJvtTool.cxx.

358  {
359  double Rpt;
360  Rpt= jet->jetP4(m_jetchargedp4).Pt()/ jet->pt();
361  return Rpt;
362  }

◆ hasCloseByHSjet()

bool JetForwardPFlowJvtTool::hasCloseByHSjet ( const xAOD::Jet jet,
const xAOD::JetContainer pjets 
) const
inherited

Definition at line 176 of file JetForwardPFlowJvtTool.cxx.

176  {
177  for (const xAOD::Jet* pjet : *pjets) {
178  char jet_nnjvtpass=false;
180  jet_nnjvtpass = passJvtHandle(*pjet);
181  if (pjet->p4().DeltaR(jet->p4())<0.3 && jet_nnjvtpass && isCentralJet(pjet) ) return true;
182  }
183  return false;
184  }

◆ initialize()

StatusCode JetBalancePFlowJvtTool::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 JetForwardPFlowJvtTool.

Definition at line 45 of file JetBalancePFlowJvtTool.cxx.

46  {
47  ATH_MSG_INFO ("Initializing " << name() << "...");
48  //WPs have not been calculated yet. Using holdover fJVT values here for now
49  if (m_tightOP) m_fjvtThresh = 0.53; //Closer to 1 ==> more likely to be PU
50  else m_fjvtThresh = 0.72;
51 
53 
54  if(m_jetContainerName.empty()){
55  ATH_MSG_ERROR("JetBalancePFlowJvtTool needs to have its input jet container configured!");
56  return StatusCode::FAILURE;
57  }
58 
59  if(!m_FEKey.empty()){
60  if(!m_orFEKey.key().empty()){
61  m_orFEKey = m_jetContainerName + "." + m_orFEKey.key();
62  }
63  }
64  else{
65  ATH_MSG_ERROR("Flow Element container is empty");
66  }
67 
68  ATH_CHECK(m_FEKey.initialize( !m_FEKey.empty() ));
69  ATH_CHECK(m_orFEKey.initialize( !m_FEKey.empty() && !m_orFEKey.key().empty() ));
70 
71  m_bjvtKey = m_jetContainerName + "." + m_bjvtKey.key();
73  m_isHSKey = m_jetContainerName + "." + m_isHSKey.key();
77 
78  ATH_CHECK(m_bjvtKey.initialize());
79  ATH_CHECK(m_bjvtRawKey.initialize());
80  ATH_CHECK(m_isHSKey.initialize());
81  ATH_CHECK(m_isQCDPUKey.initialize());
82  ATH_CHECK(m_isStochPUKey.initialize());
83  ATH_CHECK(m_passJvtKey.initialize());
84 
85  ATH_CHECK(m_vxContKey.initialize());
86 
87  //These keys do nothing in this tool, but need to be initialised because of inheritance from JetForwardPFlowJvtTool
88  //This is probably a very hacky way of getting around the issue
89  m_orKey = m_jetContainerName + "." + m_orKey.key();;
90  m_PFOKey = m_jetContainerName + "." + m_PFOKey.key();
91  m_fjvtKey = m_jetContainerName + "." + m_fjvtKey.key();
93  m_isPUKey = m_jetContainerName + "." + m_isPUKey.key();
94 
95  ATH_CHECK(m_orKey.initialize());
96  ATH_CHECK(m_PFOKey.initialize());
97  ATH_CHECK(m_fjvtKey.initialize());
98  ATH_CHECK(m_fjvtRawKey.initialize());
99  ATH_CHECK(m_isPUKey.initialize());
100 
101  return StatusCode::SUCCESS;
102  }

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

◆ isCentralJet()

bool JetForwardPFlowJvtTool::isCentralJet ( const xAOD::Jet jet) const
inherited

Definition at line 352 of file JetForwardPFlowJvtTool.cxx.

352  {
353  if (std::abs(jet->eta())>m_etaThresh) return false;
354  if (jet->pt()<m_centerMinPt || (m_centerMaxPt>0 && jet->pt()>m_centerMaxPt)) return false;
355  return true;
356  }

◆ isForwardJet()

bool JetForwardPFlowJvtTool::isForwardJet ( const xAOD::Jet jet) const
inherited

Definition at line 346 of file JetForwardPFlowJvtTool.cxx.

346  {
347  if (std::abs(jet->eta())<m_etaThresh) return false;
348  if (jet->pt()<m_forwardMinPt || (m_forwardMaxPt>0 && jet->pt()>m_forwardMaxPt) ) return false;
349  return true;
350  }

◆ isQCDPUJet()

bool JetBalancePFlowJvtTool::isQCDPUJet ( const xAOD::Jet jet) const

Definition at line 178 of file JetBalancePFlowJvtTool.cxx.

178  {
179  if (std::abs(jet->eta())>m_etaThresh) return false; //Must be central
180  if (jet->pt()<m_QCDPUMinPt || (m_QCDPUMaxPt>0 && jet->pt()>m_QCDPUMaxPt) ) return false;
181  //Other selections? EMPTopo studies included cuts on JVT and JVF
182  return true;
183  }

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

◆ pfoToPseudoJet()

fastjet::PseudoJet JetForwardPFlowJvtTool::pfoToPseudoJet ( const xAOD::PFO pfo,
const CP::PFO_JetMETConfig_charge theCharge,
const xAOD::Vertex vx 
) const
inherited

Definition at line 302 of file JetForwardPFlowJvtTool.cxx.

302  {
303  TLorentzVector pfo_p4;
304  if (CP::charged == theCharge){
305  float pweight = m_weight;
306  if( (m_wpfotool->fillWeight(*pfo,pweight)).isSuccess() ){
307  // Create a PSeudojet with the momentum of the selected IParticle
308  pfo_p4= TLorentzVector(pfo->p4().Px()*pweight,pfo->p4().Py()*pweight,pfo->p4().Pz()*pweight,pfo->e()*pweight);
309  }
310  } else if (CP::neutral == theCharge){
311  pfo_p4= pfo->GetVertexCorrectedEMFourVec(*vx);
312  }
313  fastjet::PseudoJet psj(pfo_p4);
314  // User index is used to identify the xAOD object used for the PSeudoJet
315  if (CP::charged == theCharge){
316  psj.set_user_index(pfo->index());
317  }else{
318  psj.set_user_index(-1);
319  }
320 
321  return psj;
322  }

◆ 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() [1/2]

StatusCode JetForwardPFlowJvtTool::tagTruth ( const xAOD::JetContainer jets,
const xAOD::JetContainer truthJets 
)
inherited

Definition at line 384 of file JetForwardPFlowJvtTool.cxx.

384  {
387 
388  for(const xAOD::Jet *jet : *jets) {
389  bool ishs = false;
390  bool ispu = true;
391  for(const xAOD::Jet *tjet : *truthJets) {
392  if (tjet->p4().DeltaR(jet->p4())<0.3 && tjet->pt()>10e3) ishs = true;
393  if (tjet->p4().DeltaR(jet->p4())<0.6) ispu = false;
394  }
395  isHSHandle(*jet)=ishs;
396  isPUHandle(*jet)=ispu;
397  }
398  return StatusCode::SUCCESS;
399  }

◆ tagTruth() [2/2]

StatusCode JetBalancePFlowJvtTool::tagTruth ( const xAOD::JetContainer jets,
const xAOD::JetContainer truthJets,
const xAOD::JetContainer itpujets,
const xAOD::JetContainer ootpujets 
)

Definition at line 186 of file JetBalancePFlowJvtTool.cxx.

187  {
188  //truthJets container taken to be truth HS - @to-Do double check this
189  //In-time and out-of-time PU truth jets given in AODs as separate containers
193 
194  for(const xAOD::Jet *jet : *jets) {
195  bool ishs = false;
196  bool ispu = true;
197 
198  bool isqcdpu = false;
199  bool isstochpu = true; //Default value to make logic work - changed below
200 
201  for(const xAOD::Jet *tjet : *truthJets) {
202  if (tjet->p4().DeltaR(jet->p4())<0.3 && tjet->pt()>10e3) ishs = true;
203  if (tjet->p4().DeltaR(jet->p4())<0.6 && tjet->pt()>4e3) ispu = false;
204  }
205 
206  if (ispu){
207  //Need to check both containers
208  for(const xAOD::Jet *itpujet : *itpujets){
209  if (itpujet->p4().DeltaR(jet->p4())<0.3 && itpujet->pt()>10e3) isqcdpu = true;
210  if (itpujet->p4().DeltaR(jet->p4())<0.6 && itpujet->pt()>10e3) isstochpu = false;
211  }
212  for(const xAOD::Jet *ootpujet : *ootpujets){
213  if (ootpujet->p4().DeltaR(jet->p4())<0.3 && ootpujet->pt()>10e3) isqcdpu = true;
214  if (ootpujet->p4().DeltaR(jet->p4())<0.6 && ootpujet->pt()>10e3) isstochpu = false;
215  }
216  }
217 
218  else {
219  isstochpu = false; //Can't be labelled stochastic PU if jet is not determined to be PU
220  }
221 
222  isHSHandle(*jet)=ishs;
223  isQCDPUHandle(*jet)=isqcdpu;
224  isStochPUHandle(*jet)=isstochpu;
225  }
226 
227  return StatusCode::SUCCESS;
228  }

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

SG::WriteDecorHandleKey<xAOD::JetContainer> JetBalancePFlowJvtTool::m_bjvtKey {this, "BjvtName", "passOnlyBJVT", "Decorator for passing bJVT threshold (tight or loose)"}
protected

Definition at line 126 of file JetBalancePFlowJvtTool.h.

◆ m_bjvtRawKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetBalancePFlowJvtTool::m_bjvtRawKey {this, "BjvtRawName", "bJvt", "Decorator for raw bJVT variable"}
protected

Definition at line 127 of file JetBalancePFlowJvtTool.h.

◆ m_bjvtThresh

float JetBalancePFlowJvtTool::m_bjvtThresh
protected

Definition at line 131 of file JetBalancePFlowJvtTool.h.

◆ m_centerMaxPt

Gaudi::Property<double> JetForwardPFlowJvtTool::m_centerMaxPt {this, "centralMaxPt", -1, "Maximum central jet pt. If -1 no threshold is applied"}
protectedinherited

Definition at line 136 of file JetForwardPFlowJvtTool.h.

◆ m_centerMinPt

Gaudi::Property<double> JetForwardPFlowJvtTool::m_centerMinPt {this, "centralMinPt", 20e3, "Minimum central jet pt"}
protectedinherited

Definition at line 135 of file JetForwardPFlowJvtTool.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_dzCut

Gaudi::Property<double> JetForwardPFlowJvtTool::m_dzCut {this, "dzCut", 2.0, "Dz=z=-z0 cut for pfo objects participating in the HS vertex jet reco"}
protectedinherited

Definition at line 140 of file JetForwardPFlowJvtTool.h.

◆ m_etaThresh

Gaudi::Property<double> JetForwardPFlowJvtTool::m_etaThresh {this, "etaThresh", 2.5, "Maximum eta value for considering a jet as central"}
protectedinherited

Definition at line 132 of file JetForwardPFlowJvtTool.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_FEKey

SG::ReadHandleKey<xAOD::FlowElementContainer> JetForwardPFlowJvtTool::m_FEKey {this, "FEName", "", "SG Key for CHS FlowElement Container (overrides PFO if not empty)"}
protectedinherited

Definition at line 152 of file JetForwardPFlowJvtTool.h.

◆ m_fjvtKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardPFlowJvtTool::m_fjvtKey {this, "FjvtName", "passOnlyFJVT", "Decorator for passing fJVT threshold (tight or loose)"}
protectedinherited

Definition at line 158 of file JetForwardPFlowJvtTool.h.

◆ m_fjvtRawKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardPFlowJvtTool::m_fjvtRawKey {this, "FjvtRawName", "fJvt", "Decorator for raw fJVT variable"}
protectedinherited

Definition at line 159 of file JetForwardPFlowJvtTool.h.

◆ m_fjvtThresh

Gaudi::Property<double> JetForwardPFlowJvtTool::m_fjvtThresh {this, "fjvtThresh", 15e3, "fjvt threshold value"}
protectedinherited

Definition at line 137 of file JetForwardPFlowJvtTool.h.

◆ m_forwardMaxPt

Gaudi::Property<double> JetForwardPFlowJvtTool::m_forwardMaxPt {this, "forwardMaxPt", -1, "Maximum forward jet pt. If -1 no threshold is applied"}
protectedinherited

Definition at line 134 of file JetForwardPFlowJvtTool.h.

◆ m_forwardMinPt

Gaudi::Property<double> JetForwardPFlowJvtTool::m_forwardMinPt {this, "forwardMinPt", 18e3, "Minimum forward jet pt"}
protectedinherited

Definition at line 133 of file JetForwardPFlowJvtTool.h.

◆ m_includePV

Gaudi::Property<bool> JetForwardPFlowJvtTool::m_includePV {this, "includePV", false, "Flag to include jets and tracks associated to PV in the calculation"}
protectedinherited

Definition at line 131 of file JetForwardPFlowJvtTool.h.

◆ m_isdata

Gaudi::Property<bool> JetForwardPFlowJvtTool::m_isdata {this, "isdata", false, "True if data"}
protectedinherited

Definition at line 128 of file JetForwardPFlowJvtTool.h.

◆ m_isHSKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardPFlowJvtTool::m_isHSKey {this, "isHSName", "isJVTHS", "SG key for output isJVTHS decoration"}
protectedinherited

Definition at line 160 of file JetForwardPFlowJvtTool.h.

◆ m_isPUKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetForwardPFlowJvtTool::m_isPUKey {this, "isPUName", "isJvtPU", "SG key for output isJVTPU decoration"}
protectedinherited

Definition at line 161 of file JetForwardPFlowJvtTool.h.

◆ m_isQCDPUKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetBalancePFlowJvtTool::m_isQCDPUKey {this, "isQCDPUName", "isJvtQCDPU", "SG key for output isJVTQCDPU decoration"}
protected

Definition at line 128 of file JetBalancePFlowJvtTool.h.

◆ m_isStochPUKey

SG::WriteDecorHandleKey<xAOD::JetContainer> JetBalancePFlowJvtTool::m_isStochPUKey {this, "isStochPUName", "isJvtStochPU", "SG key for output isJVTStochPU decoration"}
protected

Definition at line 129 of file JetBalancePFlowJvtTool.h.

◆ m_jetchargedp4

Gaudi::Property<std::string> JetForwardPFlowJvtTool::m_jetchargedp4 {this, "jetchargedp4", "JetChargedScaleMomentum", "Name of the jet charged momentum 4-vector"}
protectedinherited

Definition at line 126 of file JetForwardPFlowJvtTool.h.

◆ m_jetContainerName

Gaudi::Property<std::string> JetForwardPFlowJvtTool::m_jetContainerName {this, "JetContainer", "", "SG key for the input jet container"}
protectedinherited

Definition at line 124 of file JetForwardPFlowJvtTool.h.

◆ m_jetsName

Gaudi::Property<std::string> JetForwardPFlowJvtTool::m_jetsName {this, "jetsName", "AntiKt4PUPFlowJets", "Container name for the output reconstructed PU jets"}
protectedinherited

Definition at line 125 of file JetForwardPFlowJvtTool.h.

◆ m_jvtCut

Gaudi::Property<double> JetForwardPFlowJvtTool::m_jvtCut {this, "jvtCut", 0.2, "JVT threshold value for considering a central PU jet as HS"}
protectedinherited

Definition at line 139 of file JetForwardPFlowJvtTool.h.

◆ m_maxRap

Gaudi::Property<double> JetForwardPFlowJvtTool::m_maxRap {this, "maxRap", 2.5, "Maximum rapidity value in fastjet::AreaDefinition"}
protectedinherited

Definition at line 141 of file JetForwardPFlowJvtTool.h.

◆ m_neutMaxRap

Gaudi::Property<double> JetForwardPFlowJvtTool::m_neutMaxRap {this, "neutMaxRap", 2.5, "Maximum rapidity value for neutral pfos participating in jet reco"}
protectedinherited

Definition at line 142 of file JetForwardPFlowJvtTool.h.

◆ m_orFEKey

SG::ReadDecorHandleKey<xAOD::FlowElement> JetForwardPFlowJvtTool::m_orFEKey {this, "ORNameFE", "", "OR label"}
protectedinherited

Definition at line 156 of file JetForwardPFlowJvtTool.h.

◆ m_orKey

SG::ReadDecorHandleKey<xAOD::PFO> JetForwardPFlowJvtTool::m_orKey {this, "ORName", "", "OR label"}
protectedinherited

Definition at line 155 of file JetForwardPFlowJvtTool.h.

◆ m_passJvtKey

SG::ReadDecorHandleKey<xAOD::JetContainer> JetForwardPFlowJvtTool::m_passJvtKey {this, "passJvtName", "NNJvtPass", "SG key for output pass-JVT decoration"}
protectedinherited

Definition at line 154 of file JetForwardPFlowJvtTool.h.

◆ m_pfoJES

ToolHandle<IJetCalibrationTool> JetForwardPFlowJvtTool::m_pfoJES {this,"JetCalibrationTool", "", "Jet calibration tool name"}
protectedinherited

Definition at line 164 of file JetForwardPFlowJvtTool.h.

◆ m_PFOKey

SG::ReadHandleKey<xAOD::PFOContainer> JetForwardPFlowJvtTool::m_PFOKey {this, "PFOName", "CHSParticleFlowObjects", "SG Key for CHS PFO Container"}
protectedinherited

Definition at line 151 of file JetForwardPFlowJvtTool.h.

◆ m_pvind

Gaudi::Property<int> JetForwardPFlowJvtTool::m_pvind {this, "pvind", -1, "Hard-Scatter primary vertex index of the event. If -1 it will be automatically retrieved from the event"}
protectedinherited

Definition at line 129 of file JetForwardPFlowJvtTool.h.

◆ m_QCDPUMaxPt

Gaudi::Property<float> JetBalancePFlowJvtTool::m_QCDPUMaxPt {this, "QCDPUMaxPt", -1, "Maximum pt cut value for central PU jets contributing in the missing momentum calculation. If -1 no threshold is applied"}
protected

Definition at line 123 of file JetBalancePFlowJvtTool.h.

◆ m_QCDPUMinPt

Gaudi::Property<float> JetBalancePFlowJvtTool::m_QCDPUMinPt {this, "QCDPUMinPt", 20e3, "Minimum pt cut value for central PU jets contributing in the missing momentum calculation"}
protected

Definition at line 122 of file JetBalancePFlowJvtTool.h.

◆ m_rptCut

Gaudi::Property<double> JetForwardPFlowJvtTool::m_rptCut {this, "rptCut", 0.1, "Rpt cut value for central PU jets contributing in the missing momentum calculation"}
protectedinherited

Definition at line 138 of file JetForwardPFlowJvtTool.h.

◆ m_tightOP

Gaudi::Property<bool> JetForwardPFlowJvtTool::m_tightOP {this, "tightOP", false, "If true a tight fjvt threshold value is applied"}
protectedinherited

Definition at line 144 of file JetForwardPFlowJvtTool.h.

◆ m_tvaKey

SG::ReadHandleKey<jet::TrackVertexAssociation> JetForwardPFlowJvtTool::m_tvaKey {this, "TrackVertexAssociation", "", "Input track-vertex association"}
protectedinherited

Definition at line 123 of file JetForwardPFlowJvtTool.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vertices

Gaudi::Property<int> JetForwardPFlowJvtTool::m_vertices {this, "vertices", 10, "Number of vertices for which the missing momentum is calculated"}
protectedinherited

Definition at line 130 of file JetForwardPFlowJvtTool.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_vxContKey

SG::ReadHandleKey<xAOD::VertexContainer> JetForwardPFlowJvtTool::m_vxContKey {this, "verticesName", "PrimaryVertices", "Container name of vertices to be retrieved"}
protectedinherited

Definition at line 150 of file JetForwardPFlowJvtTool.h.

◆ m_weight

Gaudi::Property<float> JetForwardPFlowJvtTool::m_weight {this, "weight", 0, "PFO weight value"}
protectedinherited

Definition at line 143 of file JetForwardPFlowJvtTool.h.

◆ m_wpfotool

ToolHandle<CP::WeightPFOTool> JetForwardPFlowJvtTool::m_wpfotool {this,"WeightPFOTool", "", "Weight PFO tool name"}
protectedinherited

Definition at line 163 of file JetForwardPFlowJvtTool.h.


The documentation for this class was generated from the following files:
pflow::puJets::jetAuxCont
std::shared_ptr< xAOD::JetAuxContainer > jetAuxCont
Definition: JetForwardPFlowJvtTool.h:83
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
JetBalancePFlowJvtTool::m_isStochPUKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isStochPUKey
Definition: JetBalancePFlowJvtTool.h:129
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
JetForwardPFlowJvtTool::m_centerMinPt
Gaudi::Property< double > m_centerMinPt
Definition: JetForwardPFlowJvtTool.h:135
perp
Scalar perp() const
perp method - perpenticular length
Definition: AmgMatrixBasePlugin.h:44
JetForwardPFlowJvtTool::pfoToPseudoJet
fastjet::PseudoJet pfoToPseudoJet(const xAOD::PFO *pfo, const CP::PFO_JetMETConfig_charge &theCharge, const xAOD::Vertex *vx) const
Definition: JetForwardPFlowJvtTool.cxx:302
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
JetForwardPFlowJvtTool::hasCloseByHSjet
bool hasCloseByHSjet(const xAOD::Jet *jet, const xAOD::JetContainer *pjets) const
Definition: JetForwardPFlowJvtTool.cxx:176
JetForwardPFlowJvtTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: JetForwardPFlowJvtTool.h:124
JetForwardPFlowJvtTool::m_pvind
Gaudi::Property< int > m_pvind
Definition: JetForwardPFlowJvtTool.h:129
test_pyathena.pt
pt
Definition: test_pyathena.py:11
JetBalancePFlowJvtTool::m_QCDPUMinPt
Gaudi::Property< float > m_QCDPUMinPt
Definition: JetBalancePFlowJvtTool.h:122
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
JetForwardPFlowJvtTool::m_tvaKey
SG::ReadHandleKey< jet::TrackVertexAssociation > m_tvaKey
Definition: JetForwardPFlowJvtTool.h:123
JetForwardPFlowJvtTool::m_weight
Gaudi::Property< float > m_weight
Definition: JetForwardPFlowJvtTool.h:143
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
JetForwardPFlowJvtTool::m_includePV
Gaudi::Property< bool > m_includePV
Definition: JetForwardPFlowJvtTool.h:131
JetForwardPFlowJvtTool::m_wpfotool
ToolHandle< CP::WeightPFOTool > m_wpfotool
Definition: JetForwardPFlowJvtTool.h:163
JetForwardPFlowJvtTool::m_pfoJES
ToolHandle< IJetCalibrationTool > m_pfoJES
Definition: JetForwardPFlowJvtTool.h:164
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
JetForwardPFlowJvtTool::m_vertices
Gaudi::Property< int > m_vertices
Definition: JetForwardPFlowJvtTool.h:130
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
xAOD::PFO_v1::e
virtual double e() const
The total energy of the particle.
Definition: PFO_v1.cxx:81
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
JetForwardPFlowJvtTool::m_isPUKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isPUKey
Definition: JetForwardPFlowJvtTool.h:161
JetForwardPFlowJvtTool::m_jetchargedp4
Gaudi::Property< std::string > m_jetchargedp4
Definition: JetForwardPFlowJvtTool.h:126
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
AthCommonDataStore
Definition: AthCommonDataStore.h:52
pflow::puJets::jetCont
std::shared_ptr< xAOD::JetContainer > jetCont
Definition: JetForwardPFlowJvtTool.h:82
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
SG::ReadDecorHandle
Handle class for reading a decoration on an object.
Definition: StoreGate/StoreGate/ReadDecorHandle.h:94
JetForwardPFlowJvtTool::getPV
std::size_t getPV() const
Definition: JetForwardPFlowJvtTool.cxx:364
lumiFormat.i
int i
Definition: lumiFormat.py:85
JetForwardPFlowJvtTool::m_passJvtKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_passJvtKey
Definition: JetForwardPFlowJvtTool.h:154
JetForwardPFlowJvtTool::m_jetsName
Gaudi::Property< std::string > m_jetsName
Definition: JetForwardPFlowJvtTool.h:125
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
JetForwardPFlowJvtTool::m_fjvtRawKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fjvtRawKey
Definition: JetForwardPFlowJvtTool.h:159
JetForwardPFlowJvtTool::m_fjvtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fjvtKey
Definition: JetForwardPFlowJvtTool.h:158
xAOD::VxType::PriVtx
@ PriVtx
Primary vertex.
Definition: TrackingPrimitives.h:571
JetForwardPFlowJvtTool::feToPseudoJet
fastjet::PseudoJet feToPseudoJet(const xAOD::FlowElement *fe, const CP::PFO_JetMETConfig_charge &theCharge, const xAOD::Vertex *vx) const
Definition: JetForwardPFlowJvtTool.cxx:324
JetBalancePFlowJvtTool::m_bjvtRawKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_bjvtRawKey
Definition: JetBalancePFlowJvtTool.h:127
xAOD::PFO_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: PFO_v1.cxx:95
JetForwardPFlowJvtTool::m_vxContKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vxContKey
Definition: JetForwardPFlowJvtTool.h:150
python.xAODType.dummy
dummy
Definition: xAODType.py:4
JetForwardPFlowJvtTool::m_dzCut
Gaudi::Property< double > m_dzCut
Definition: JetForwardPFlowJvtTool.h:140
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
JetBalancePFlowJvtTool::m_isQCDPUKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isQCDPUKey
Definition: JetBalancePFlowJvtTool.h:128
JetBalancePFlowJvtTool::isQCDPUJet
bool isQCDPUJet(const xAOD::Jet *jet) const
Definition: JetBalancePFlowJvtTool.cxx:178
JetForwardPFlowJvtTool::m_rptCut
Gaudi::Property< double > m_rptCut
Definition: JetForwardPFlowJvtTool.h:138
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::Vertex_v1::z
float z() const
Returns the z position.
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
JetForwardPFlowJvtTool::JetForwardPFlowJvtTool
JetForwardPFlowJvtTool(const std::string &name)
Constructor with parameters:
Definition: JetForwardPFlowJvtTool.cxx:32
SG::AuxElement::index
size_t index() const
Return the index of this element within its container.
JetForwardPFlowJvtTool::isCentralJet
bool isCentralJet(const xAOD::Jet *jet) const
Definition: JetForwardPFlowJvtTool.cxx:352
JetBalancePFlowJvtTool::m_bjvtThresh
float m_bjvtThresh
Definition: JetBalancePFlowJvtTool.h:131
JetForwardPFlowJvtTool::m_FEKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_FEKey
Definition: JetForwardPFlowJvtTool.h:152
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::JetFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition: JetTypes.h:17
CP::neutral
@ neutral
Definition: Reconstruction/PFlow/PFlowUtils/PFlowUtils/PFODefs.h:11
xAOD::VxType::PileUp
@ PileUp
Pile-up vertex.
Definition: TrackingPrimitives.h:573
JetForwardPFlowJvtTool::m_forwardMaxPt
Gaudi::Property< double > m_forwardMaxPt
Definition: JetForwardPFlowJvtTool.h:134
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
xAOD::PFO_v1
Class describing a particle flow object.
Definition: PFO_v1.h:35
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
JetForwardPFlowJvtTool::m_tightOP
Gaudi::Property< bool > m_tightOP
Definition: JetForwardPFlowJvtTool.h:144
JetBalancePFlowJvtTool::m_bjvtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_bjvtKey
Definition: JetBalancePFlowJvtTool.h:126
xAOD::FlowElement_v1::e
virtual double e() const override
The total energy of the particle.
Definition: FlowElement_v1.cxx:25
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
JetForwardPFlowJvtTool::m_forwardMinPt
Gaudi::Property< double > m_forwardMinPt
Definition: JetForwardPFlowJvtTool.h:133
xAOD::JetAlgorithmType::antikt_algorithm
@ antikt_algorithm
Definition: JetContainerInfo.h:33
JetForwardPFlowJvtTool::m_orFEKey
SG::ReadDecorHandleKey< xAOD::FlowElement > m_orFEKey
Definition: JetForwardPFlowJvtTool.h:156
CheckAppliedSFs.pu
pu
Definition: CheckAppliedSFs.py:311
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetForwardPFlowJvtTool::m_fjvtThresh
Gaudi::Property< double > m_fjvtThresh
Definition: JetForwardPFlowJvtTool.h:137
pflow::puJets
Definition: JetForwardPFlowJvtTool.h:81
JetForwardPFlowJvtTool::m_neutMaxRap
Gaudi::Property< double > m_neutMaxRap
Definition: JetForwardPFlowJvtTool.h:142
JetForwardPFlowJvtTool::getRpt
double getRpt(const xAOD::Jet *jet) const
Definition: JetForwardPFlowJvtTool.cxx:358
xAOD::FlowElement_v1::p4
virtual FourMom_t p4() const override
The full 4-momentum of the particle.
Definition: FlowElement_v1.cxx:33
a
TList * a
Definition: liststreamerinfos.cxx:10
h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
IJetDecorator::decorate
virtual StatusCode decorate(const xAOD::JetContainer &jets) const =0
Decorate a jet collection without otherwise modifying it.
JetForwardPFlowJvtTool::m_centerMaxPt
Gaudi::Property< double > m_centerMaxPt
Definition: JetForwardPFlowJvtTool.h:136
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
JetForwardPFlowJvtTool::m_maxRap
Gaudi::Property< double > m_maxRap
Definition: JetForwardPFlowJvtTool.h:141
JetForwardPFlowJvtTool::m_isHSKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isHSKey
Definition: JetForwardPFlowJvtTool.h:160
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
JetForwardPFlowJvtTool::m_PFOKey
SG::ReadHandleKey< xAOD::PFOContainer > m_PFOKey
Definition: JetForwardPFlowJvtTool.h:151
JetForwardPFlowJvtTool::m_etaThresh
Gaudi::Property< double > m_etaThresh
Definition: JetForwardPFlowJvtTool.h:132
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
JetBalancePFlowJvtTool::m_QCDPUMaxPt
Gaudi::Property< float > m_QCDPUMaxPt
Definition: JetBalancePFlowJvtTool.h:123
createCoolChannelIdFile.newname
newname
Definition: createCoolChannelIdFile.py:106
JetBalancePFlowJvtTool::calculateVertexMomenta
virtual std::vector< TVector2 > calculateVertexMomenta(const xAOD::JetContainer *jets, int pvind, int vertices) const override
Definition: JetBalancePFlowJvtTool.cxx:133
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
JetForwardPFlowJvtTool::buildPFlowPUjets
pflow::puJets buildPFlowPUjets(const xAOD::Vertex &vx) const
Definition: JetForwardPFlowJvtTool.cxx:186
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
JetForwardPFlowJvtTool::getFJVT
float getFJVT(const xAOD::Jet *jet, const std::vector< TVector2 > &pileupMomenta) const
Definition: JetForwardPFlowJvtTool.cxx:121
xAOD::PFO_v1::GetVertexCorrectedEMFourVec
TLorentzVector GetVertexCorrectedEMFourVec(const xAOD::Vertex &vertexToCorrectTo) const
Correct EM scale 4-vector to point at a vertex.
Definition: PFO_v1.cxx:737
SG::DataProxy
Definition: DataProxy.h:44
FEHelpers::getVertexCorrectedFourVec
TLorentzVector getVertexCorrectedFourVec(const xAOD::FlowElement &fe, const xAOD::Vertex &vertexToCorrectTo)
Definition: FEHelpers.cxx:13
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::Jet
Jet_v1 Jet
Definition of the current "jet version".
Definition: Event/xAOD/xAODJet/xAODJet/Jet.h:17
CP::charged
@ charged
Definition: Reconstruction/PFlow/PFlowUtils/PFlowUtils/PFODefs.h:11
JetForwardPFlowJvtTool::m_orKey
SG::ReadDecorHandleKey< xAOD::PFO > m_orKey
Definition: JetForwardPFlowJvtTool.h:155
fitman.k
k
Definition: fitman.py:528
xAOD::FlowElement_v1
A detector object made of other lower level object(s)
Definition: FlowElement_v1.h:25