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::ReadHandleKey< xAOD::EventInfom_eventInfoKey {"EventInfo"}
 
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 188 of file JetForwardPFlowJvtTool.cxx.

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

◆ 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 337 of file JetForwardPFlowJvtTool.cxx.

337  {
338  TLorentzVector fe_p4;
339  if (CP::charged == theCharge){
340  float pweight = m_weight;
341  if( (m_wpfotool->fillWeight(*fe,pweight)).isSuccess() ){
342  // Create a Peeudojet with the momentum of the selected IParticle
343  fe_p4= TLorentzVector(fe->p4().Px()*pweight,fe->p4().Py()*pweight,fe->p4().Pz()*pweight,fe->e()*pweight);
344  }
345  } else if (CP::neutral == theCharge){
346  fe_p4=FEHelpers::getVertexCorrectedFourVec(*fe, *vx);
347  }
348  fastjet::PseudoJet psj(fe_p4);
349  // User index is used to identify the xAOD object used for the PseudoJet
350  if (CP::charged == theCharge){
351  psj.set_user_index(fe->index());
352  }else{
353  psj.set_user_index(-1);
354  }
355 
356  return psj;
357  }

◆ getFJVT()

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

Definition at line 123 of file JetForwardPFlowJvtTool.cxx.

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

◆ 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 377 of file JetForwardPFlowJvtTool.cxx.

377  {
378  if (m_includePV) return -1;
379 
380  //const xAOD::VertexContainer *vxCont = 0;
382  ATH_MSG_DEBUG("Successfully retrieved primary vertex container");
383  for(const xAOD::Vertex *vx : *vxContHandle) {
384  if(vx->vertexType()==xAOD::VxType::PriVtx) return vx->index();
385  }
386  // If no verticies are found in the event the Primary Vertex container will just contain a dummy vertex and no primary vertex
387  if(vxContHandle->empty() ){
388  ATH_MSG_ERROR("Primary vertex container is empty ");
389  } else if(vxContHandle->size() != 1 ){
390  ATH_MSG_WARNING("Couldn't identify the hard-scatter primary vertex (no vertex with \"vx->vertexType()==xAOD::VxType::PriVtx\" in the container)! ");
391  }
392  // this almost certainly isn't what we should do here, the
393  // caller doesn't check this for errors
394  return 0;
395  }

◆ getRpt()

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

Definition at line 371 of file JetForwardPFlowJvtTool.cxx.

371  {
372  double Rpt;
373  Rpt= jet->jetP4(m_jetchargedp4).Pt()/ jet->pt();
374  return Rpt;
375  }

◆ hasCloseByHSjet()

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

Definition at line 178 of file JetForwardPFlowJvtTool.cxx.

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

◆ 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 365 of file JetForwardPFlowJvtTool.cxx.

365  {
366  if (std::abs(jet->eta())>m_etaThresh) return false;
367  if (jet->pt()<m_centerMinPt || (m_centerMaxPt>0 && jet->pt()>m_centerMaxPt)) return false;
368  return true;
369  }

◆ isForwardJet()

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

Definition at line 359 of file JetForwardPFlowJvtTool.cxx.

359  {
360  if (std::abs(jet->eta())<m_etaThresh) return false;
361  if (jet->pt()<m_forwardMinPt || (m_forwardMaxPt>0 && jet->pt()>m_forwardMaxPt) ) return false;
362  return true;
363  }

◆ 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 315 of file JetForwardPFlowJvtTool.cxx.

315  {
316  TLorentzVector pfo_p4;
317  if (CP::charged == theCharge){
318  float pweight = m_weight;
319  if( (m_wpfotool->fillWeight(*pfo,pweight)).isSuccess() ){
320  // Create a PSeudojet with the momentum of the selected IParticle
321  pfo_p4= TLorentzVector(pfo->p4().Px()*pweight,pfo->p4().Py()*pweight,pfo->p4().Pz()*pweight,pfo->e()*pweight);
322  }
323  } else if (CP::neutral == theCharge){
324  pfo_p4= pfo->GetVertexCorrectedEMFourVec(*vx);
325  }
326  fastjet::PseudoJet psj(pfo_p4);
327  // User index is used to identify the xAOD object used for the PSeudoJet
328  if (CP::charged == theCharge){
329  psj.set_user_index(pfo->index());
330  }else{
331  psj.set_user_index(-1);
332  }
333 
334  return psj;
335  }

◆ 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 397 of file JetForwardPFlowJvtTool.cxx.

397  {
400 
401  for(const xAOD::Jet *jet : *jets) {
402  bool ishs = false;
403  bool ispu = true;
404  for(const xAOD::Jet *tjet : *truthJets) {
405  if (tjet->p4().DeltaR(jet->p4())<0.3 && tjet->pt()>10e3) ishs = true;
406  if (tjet->p4().DeltaR(jet->p4())<0.6) ispu = false;
407  }
408  isHSHandle(*jet)=ishs;
409  isPUHandle(*jet)=ispu;
410  }
411  return StatusCode::SUCCESS;
412  }

◆ 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 138 of file JetForwardPFlowJvtTool.h.

◆ m_centerMinPt

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

Definition at line 137 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 142 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 134 of file JetForwardPFlowJvtTool.h.

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> JetForwardPFlowJvtTool::m_eventInfoKey {"EventInfo"}
protectedinherited

Definition at line 155 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 154 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 161 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 162 of file JetForwardPFlowJvtTool.h.

◆ m_fjvtThresh

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

Definition at line 139 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 136 of file JetForwardPFlowJvtTool.h.

◆ m_forwardMinPt

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

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

◆ m_isdata

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

Definition at line 130 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 163 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 164 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 128 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 126 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 127 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 141 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 143 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 144 of file JetForwardPFlowJvtTool.h.

◆ m_orFEKey

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

Definition at line 159 of file JetForwardPFlowJvtTool.h.

◆ m_orKey

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

Definition at line 158 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 157 of file JetForwardPFlowJvtTool.h.

◆ m_pfoJES

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

Definition at line 167 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 153 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 131 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 140 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 146 of file JetForwardPFlowJvtTool.h.

◆ m_tvaKey

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

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

◆ m_weight

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

Definition at line 145 of file JetForwardPFlowJvtTool.h.

◆ m_wpfotool

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

Definition at line 166 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:85
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:137
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:315
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:178
JetForwardPFlowJvtTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: JetForwardPFlowJvtTool.h:126
JetForwardPFlowJvtTool::m_pvind
Gaudi::Property< int > m_pvind
Definition: JetForwardPFlowJvtTool.h:131
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:125
JetForwardPFlowJvtTool::m_weight
Gaudi::Property< float > m_weight
Definition: JetForwardPFlowJvtTool.h:145
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:133
JetForwardPFlowJvtTool::m_wpfotool
ToolHandle< CP::WeightPFOTool > m_wpfotool
Definition: JetForwardPFlowJvtTool.h:166
JetForwardPFlowJvtTool::m_pfoJES
ToolHandle< IJetCalibrationTool > m_pfoJES
Definition: JetForwardPFlowJvtTool.h:167
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
JetForwardPFlowJvtTool::m_vertices
Gaudi::Property< int > m_vertices
Definition: JetForwardPFlowJvtTool.h:132
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:270
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:164
JetForwardPFlowJvtTool::m_jetchargedp4
Gaudi::Property< std::string > m_jetchargedp4
Definition: JetForwardPFlowJvtTool.h:128
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:84
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::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: JetForwardPFlowJvtTool.h:155
JetForwardPFlowJvtTool::getPV
std::size_t getPV() const
Definition: JetForwardPFlowJvtTool.cxx:377
lumiFormat.i
int i
Definition: lumiFormat.py:85
JetForwardPFlowJvtTool::m_passJvtKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_passJvtKey
Definition: JetForwardPFlowJvtTool.h:157
JetForwardPFlowJvtTool::m_jetsName
Gaudi::Property< std::string > m_jetsName
Definition: JetForwardPFlowJvtTool.h:127
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:162
JetForwardPFlowJvtTool::m_fjvtKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fjvtKey
Definition: JetForwardPFlowJvtTool.h:161
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:337
JetBalancePFlowJvtTool::m_bjvtRawKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_bjvtRawKey
Definition: JetBalancePFlowJvtTool.h:127
JetClustererHelper::seedsFromEventInfo
void seedsFromEventInfo(const xAOD::EventInfo *ei, std::vector< int > &seeds)
Fill seeds vector from run & event number. This functio is separated from the class so it's easier to...
Definition: JetClusterer.cxx:27
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:152
python.xAODType.dummy
dummy
Definition: xAODType.py:4
JetForwardPFlowJvtTool::m_dzCut
Gaudi::Property< double > m_dzCut
Definition: JetForwardPFlowJvtTool.h:142
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:140
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:33
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:365
JetBalancePFlowJvtTool::m_bjvtThresh
float m_bjvtThresh
Definition: JetBalancePFlowJvtTool.h:131
JetForwardPFlowJvtTool::m_FEKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_FEKey
Definition: JetForwardPFlowJvtTool.h:154
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:136
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:228
JetForwardPFlowJvtTool::m_tightOP
Gaudi::Property< bool > m_tightOP
Definition: JetForwardPFlowJvtTool.h:146
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:135
xAOD::JetAlgorithmType::antikt_algorithm
@ antikt_algorithm
Definition: JetContainerInfo.h:33
JetForwardPFlowJvtTool::m_orFEKey
SG::ReadDecorHandleKey< xAOD::FlowElement > m_orFEKey
Definition: JetForwardPFlowJvtTool.h:159
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:139
pflow::puJets
Definition: JetForwardPFlowJvtTool.h:83
JetForwardPFlowJvtTool::m_neutMaxRap
Gaudi::Property< double > m_neutMaxRap
Definition: JetForwardPFlowJvtTool.h:144
JetForwardPFlowJvtTool::getRpt
double getRpt(const xAOD::Jet *jet) const
Definition: JetForwardPFlowJvtTool.cxx:371
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:138
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
JetForwardPFlowJvtTool::m_maxRap
Gaudi::Property< double > m_maxRap
Definition: JetForwardPFlowJvtTool.h:143
JetForwardPFlowJvtTool::m_isHSKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_isHSKey
Definition: JetForwardPFlowJvtTool.h:163
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
JetForwardPFlowJvtTool::m_PFOKey
SG::ReadHandleKey< xAOD::PFOContainer > m_PFOKey
Definition: JetForwardPFlowJvtTool.h:153
JetForwardPFlowJvtTool::m_etaThresh
Gaudi::Property< double > m_etaThresh
Definition: JetForwardPFlowJvtTool.h:134
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:188
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:123
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:45
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:158
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