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

#include <TrigJetCRVARHypoTool.h>

Inheritance diagram for TrigJetCRVARHypoTool:
Collaboration diagram for TrigJetCRVARHypoTool:

Classes

struct  JetInfo
 

Public Types

using JetDecision = std::pair< const xAOD::Jet *, TrigCompositeUtils::Decision * >
 

Public Member Functions

 TrigJetCRVARHypoTool (const std::string &type, const std::string &name, const IInterface *parent)
 
 ~TrigJetCRVARHypoTool ()
 
virtual StatusCode initialize () override final
 
bool emf_dis (const xAOD::Jet *jet) const
 
StatusCode decide (std::vector< JetInfo > &decisions) const
 decides upon a collection of jets More...
 
bool decide_on_single_jet (JetInfo &input) const
 Auxiluary method, single jet selection. More...
 
const HLT::IdentifiergetId () const
 
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
 

Protected Member Functions

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

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

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

Private Attributes

HLT::Identifier m_decisionId
 
ToolHandle< ITrigJetHypoToolHelperm_helper
 
Gaudi::Property< bool > m_visitDebug {this, "visit_debug", false, "debug flag"}
 
Gaudi::Property< std::string > m_chainName
 
Gaudi::Property< float > m_jetlogRCut { this, "MinjetlogR", { float(1.2 ) }, "Jet logR requirement" }
 
Gaudi::Property< float > m_pufixLogRatio { this, "MpufixLogRatio", { float(1.2 ) }, "Jet pufix logR requirement" }
 
Gaudi::Property< float > m_trackPtCut { this, "MintrackPt", { float( 2.0*Gaudi::Units::GeV ) }, "Track pT requirement" }
 
Gaudi::Property< float > m_deltaR { this, "MindeltaR", { float( 0.2 ) }, "deltaR(jet, track) requirement" }
 
Gaudi::Property< bool > m_doBIBrm { this, "doBIBremoval", { int(0) }, "option to include BIB removal" }
 
Gaudi::Property< float > m_dEta { this, "BibMinDeltaEta", { float( 0.4 ) }, "BIB deltaEta requirement" }
 
Gaudi::Property< float > m_dPhi { this, "BibMinDeltaPhi", { float( 0.2 ) }, "BIB deltaPhi requirement" }
 
Gaudi::Property< float > m_minCellEt { this, "BibMinCellEt", { float( 240.0 ) }, "BIB cell Et requirement" }
 
Gaudi::Property< float > m_celltime { this, "BibCelltiming", { float( -2.0 ) }, "BIB cell timing requirement" }
 
Gaudi::Property< float > m_dBIBtime { this, "BibDeltatiming", { float( 5.0 ) }, "BIB delta timing requirement" }
 
Gaudi::Property< int > m_countCaloCell { this, "countBIBcells", { int( 4 ) }, "requirement on number of BIB cells" }
 
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 33 of file TrigJetCRVARHypoTool.h.

Member Typedef Documentation

◆ JetDecision

Definition at line 56 of file TrigJetCRVARHypoTool.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TrigJetCRVARHypoTool()

TrigJetCRVARHypoTool::TrigJetCRVARHypoTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 37 of file TrigJetCRVARHypoTool.cxx.

◆ ~TrigJetCRVARHypoTool()

TrigJetCRVARHypoTool::~TrigJetCRVARHypoTool ( )

Definition at line 46 of file TrigJetCRVARHypoTool.cxx.

46  {
47 }

Member Function Documentation

◆ decide()

StatusCode TrigJetCRVARHypoTool::decide ( std::vector< JetInfo > &  decisions) const

decides upon a collection of jets

Definition at line 211 of file TrigJetCRVARHypoTool.cxx.

211  {
212  for ( JetInfo& j: input ) {
213  if ( passed ( m_decisionId.numeric(), j.previousDecisionIDs ) ) {
214 
215  if ( decide_on_single_jet( j ) ) {
216  addDecisionID( m_decisionId, j.decision );
217  return StatusCode::SUCCESS;
218  }
219  }
220  }
221  return StatusCode::SUCCESS;
222 }

◆ decide_on_single_jet()

bool TrigJetCRVARHypoTool::decide_on_single_jet ( JetInfo input) const

Auxiluary method, single jet selection.

Definition at line 142 of file TrigJetCRVARHypoTool.cxx.

142  {
143 
144  auto jet = input.jet;
145  auto cellContainer = input.cells;
146  auto alltracks= jet->getAttribute<std::vector<ElementLink<xAOD::IParticleContainer> >>("TracksForMinimalJetTag");
147  //Checking jet logRatio requirements
148  if (!emf_dis(jet)){
149  return false;
150  }
151 
152  auto jetPhi= jet->phi();
153  auto jetEta= jet->eta();
154 
155  // Loop over all tracks above m_trackPtCut and reject the jet if the closest track is at dR(jet, track)< m_deltaR
156  for ( unsigned int index(0); index < alltracks.size(); index++ ) {
157  const xAOD::IParticle* track = *( alltracks.at(index));
158  if(track->pt() < m_trackPtCut ) continue;
159  double phi = track->p4().Phi();
160  double eta = track->p4().Eta() ;
161  double dR = xAOD::P4Helpers::deltaR( eta, phi, jetEta, jetPhi );
162  if (dR<m_deltaR) return false;
163  }
164 
165  if(m_doBIBrm==1){
166  int countCaloCell=0;
167  double countCell_layer[4] = {0,0,0,0};
168 
169  for(CaloCellContainer::const_iterator celliter = cellContainer->begin(); celliter != cellContainer->end(); ++celliter){
170  //LoF cell selection in tile:
171  if((*celliter)->caloDDE()->is_tile() && (*celliter)->energy() > m_minCellEt){
172  double d_phi = xAOD::P4Helpers::deltaPhi( (*celliter)->phi(), jetPhi );
173  double d_R = xAOD::P4Helpers::deltaR( (*celliter)->eta(), (*celliter)->phi(), jetEta, jetPhi );
174  //select cells in a horizontal line, not being part of the jet and timing consistent with BIB
175  if(std::abs(d_phi) < 0.2 && d_R > 0.4){
176  //-early
177  float t = (*celliter)->time();
178  if(t < m_celltime){
179  // check cell's time consitency with BIB
180  float x = (*celliter)->x();
181  float y = (*celliter)->y();
182  float z = (*celliter)->z();
183  float r = sqrt(x*x + y*y);
184 
185  if((std::abs(t - (z-sqrt(z*z + r*r))/CLHEP::c_light) < m_dBIBtime) || (std::abs(t - (-z-sqrt(z*z + r*r))/CLHEP::c_light) < m_dBIBtime)){
186  // for selected cells, store in which layer they are
187  if(r<2200){ countCell_layer[0]++;}
188  else if(r>=2200 && r<2600){ countCell_layer[1]++;}
189  else if(r>=2600 && r<3100){ countCell_layer[2]++;}
190  else if(r>=3100){ countCell_layer[3]++;}
191  }
192  }
193  }
194  }
195  }
196 
197  // get max number of selected cells in a layer
198  for(int i=0; i<4; i++){
199  if(countCaloCell<countCell_layer[i]) countCaloCell=countCell_layer[i];
200  }
201 
202  //apply cut on number of cells here
203  if (countCaloCell>=m_countCaloCell) return false;
204 
205  return true;
206 }
207 
208 return true;
209 }

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

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

◆ emf_dis()

bool TrigJetCRVARHypoTool::emf_dis ( const xAOD::Jet jet) const

Definition at line 68 of file TrigJetCRVARHypoTool.cxx.

68  {
69 
70  double jetEMF = jet->getAttribute<float>("EMFrac");
71  double jetRatio=-999;
72  if (CxxUtils::fpcompare::greater(jetEMF,0.)){
74  ATH_MSG_DEBUG( "Fails logR cut, EMF>=1" );
75  return false;
76  }
77  else jetRatio = log10(double(1./jetEMF - 1.));
78 
79  if ( jetRatio < m_pufixLogRatio)
80  return false;
81 
82  // Loop over all tracks above m_trackPtCut and reject the jet if the closest track is at dR(jet, track)< m_deltaR
83  auto jetPhi= jet->phi();
84  auto jetEta= jet->eta();
85  double pufixLR = -1;
86 
87  if( jetRatio < m_jetlogRCut ) {
88  size_t nClusters = jet->numConstituents();
89  double clusterPU_sumEEM = 0; double clusterPU_sumE = 0;
90  for (size_t clust = 0; clust < nClusters; clust++) {
91  const xAOD::CaloCluster * aCluster = dynamic_cast<const xAOD::CaloCluster*> (jet->rawConstituent(clust));
92  double clusEEM = 0;
93  clusEEM+=(aCluster)->eSample(CaloSampling::EMB1);
94  clusEEM+=(aCluster)->eSample(CaloSampling::EMB2);
95  clusEEM+=(aCluster)->eSample(CaloSampling::EMB3);
96  clusEEM+=(aCluster)->eSample(CaloSampling::EME1);
97  clusEEM+=(aCluster)->eSample(CaloSampling::EME2);
98  clusEEM+=(aCluster)->eSample(CaloSampling::EME3);
99  clusEEM+=(aCluster)->eSample(CaloSampling::FCAL1);
100  double lambda = aCluster->getMomentValue(xAOD::CaloCluster::CENTER_LAMBDA);
101 
102  if (lambda > 500) continue;
103 
104  double d_eta = aCluster->rawEta() - jetEta;
105  double d_phi = xAOD::P4Helpers::deltaPhi(aCluster->rawPhi(),jetPhi);
106  double d_R2 = d_eta*d_eta + d_phi*d_phi;
107 
108  if (d_R2 < 0.15*0.15) continue;
109  clusterPU_sumEEM+=clusEEM/1000.;
110  clusterPU_sumE+=aCluster->rawE()/1000.;
111  }
112 
113  double jetEEM_EMscale = 0; double jetE_EMscale = 0; //Working on EM scale because calE() doesn't always return correct EEM and cluster moment EMF not accessable during testing
114  std::vector<double> samplingEnergy = jet->getAttribute<std::vector<double> >("EnergyPerSampling");
115 
116  for(size_t s=0; s<samplingEnergy.size(); s++) {
117  double samplingE = 0.001*(samplingEnergy.at(s));
118  if ( s < 8 || (s > 20 && s < 28) ) jetEEM_EMscale+=samplingE; // EM layers 0-7 and 21-27
119  jetE_EMscale+=samplingE;
120  }
121 
122  double pufixEMF = -999;
123  if (CxxUtils::fpcompare::equal (0.,double(jetE_EMscale - clusterPU_sumE))) pufixEMF=999;
124  else pufixEMF = (jetEEM_EMscale - clusterPU_sumEEM)/(jetE_EMscale - clusterPU_sumE);
125  if (CxxUtils::fpcompare::greater(pufixEMF,0.)){
126  if(CxxUtils::fpcompare::greater_equal(pufixEMF,1.0)) pufixLR = -999.;
127  else pufixLR = log10(double(1./pufixEMF - 1.));
128  }else return true;
129 
130  if ( pufixLR < m_jetlogRCut) return false;
131 
132  jetRatio = pufixLR;
133  }
134  return true;
135  }
136 
137 return true;
138 }

◆ 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

◆ getId()

const HLT::Identifier& TrigJetCRVARHypoTool::getId ( ) const

◆ initialize()

StatusCode TrigJetCRVARHypoTool::initialize ( )
finaloverridevirtual

Definition at line 51 of file TrigJetCRVARHypoTool.cxx.

51  {
52  ATH_MSG_VERBOSE( "In TrigJetCRVARHypoTool, initialize()." );
53 
54  if (m_visitDebug){
55 
56  DebugInfoCollector collector(name());
57  ATH_CHECK(m_helper->getDescription(collector));
58  auto s = collector.toString();
59 
60  for(const auto& l : lineSplitter(s)){
61  ATH_MSG_INFO(l);
62  }
63  }
64 
65  return StatusCode::SUCCESS;
66 }

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

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

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

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

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

Gaudi::Property< float > TrigJetCRVARHypoTool::m_celltime { this, "BibCelltiming", { float( -2.0 ) }, "BIB cell timing requirement" }
private

Definition at line 108 of file TrigJetCRVARHypoTool.h.

◆ m_chainName

Gaudi::Property<std::string> TrigJetCRVARHypoTool::m_chainName
private
Initial value:
{
this, "chain_name", {}, "chain name"}

Definition at line 93 of file TrigJetCRVARHypoTool.h.

◆ m_countCaloCell

Gaudi::Property< int > TrigJetCRVARHypoTool::m_countCaloCell { this, "countBIBcells", { int( 4 ) }, "requirement on number of BIB cells" }
private

Definition at line 110 of file TrigJetCRVARHypoTool.h.

◆ m_dBIBtime

Gaudi::Property< float > TrigJetCRVARHypoTool::m_dBIBtime { this, "BibDeltatiming", { float( 5.0 ) }, "BIB delta timing requirement" }
private

Definition at line 109 of file TrigJetCRVARHypoTool.h.

◆ m_decisionId

HLT::Identifier TrigJetCRVARHypoTool::m_decisionId
private

Definition at line 85 of file TrigJetCRVARHypoTool.h.

◆ m_deltaR

Gaudi::Property< float > TrigJetCRVARHypoTool::m_deltaR { this, "MindeltaR", { float( 0.2 ) }, "deltaR(jet, track) requirement" }
private

Definition at line 101 of file TrigJetCRVARHypoTool.h.

◆ m_dEta

Gaudi::Property< float > TrigJetCRVARHypoTool::m_dEta { this, "BibMinDeltaEta", { float( 0.4 ) }, "BIB deltaEta requirement" }
private

Definition at line 105 of file TrigJetCRVARHypoTool.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_doBIBrm

Gaudi::Property< bool > TrigJetCRVARHypoTool::m_doBIBrm { this, "doBIBremoval", { int(0) }, "option to include BIB removal" }
private

Definition at line 103 of file TrigJetCRVARHypoTool.h.

◆ m_dPhi

Gaudi::Property< float > TrigJetCRVARHypoTool::m_dPhi { this, "BibMinDeltaPhi", { float( 0.2 ) }, "BIB deltaPhi requirement" }
private

Definition at line 106 of file TrigJetCRVARHypoTool.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_helper

ToolHandle<ITrigJetHypoToolHelper> TrigJetCRVARHypoTool::m_helper
private
Initial value:
{
this, "helper_tool", {}, "Jet hypo helper AlgTool"}

Definition at line 87 of file TrigJetCRVARHypoTool.h.

◆ m_jetlogRCut

Gaudi::Property< float > TrigJetCRVARHypoTool::m_jetlogRCut { this, "MinjetlogR", { float(1.2 ) }, "Jet logR requirement" }
private

Definition at line 97 of file TrigJetCRVARHypoTool.h.

◆ m_minCellEt

Gaudi::Property< float > TrigJetCRVARHypoTool::m_minCellEt { this, "BibMinCellEt", { float( 240.0 ) }, "BIB cell Et requirement" }
private

Definition at line 107 of file TrigJetCRVARHypoTool.h.

◆ m_pufixLogRatio

Gaudi::Property< float > TrigJetCRVARHypoTool::m_pufixLogRatio { this, "MpufixLogRatio", { float(1.2 ) }, "Jet pufix logR requirement" }
private

Definition at line 99 of file TrigJetCRVARHypoTool.h.

◆ m_trackPtCut

Gaudi::Property< float > TrigJetCRVARHypoTool::m_trackPtCut { this, "MintrackPt", { float( 2.0*Gaudi::Units::GeV ) }, "Track pT requirement" }
private

Definition at line 100 of file TrigJetCRVARHypoTool.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_visitDebug

Gaudi::Property<bool> TrigJetCRVARHypoTool::m_visitDebug {this, "visit_debug", false, "debug flag"}
private

Definition at line 91 of file TrigJetCRVARHypoTool.h.


The documentation for this class was generated from the following files:
xAOD::CaloCluster_v1::rawE
flt_t rawE() const
beamspotman.r
def r
Definition: beamspotman.py:676
TrigJetCRVARHypoTool::m_dBIBtime
Gaudi::Property< float > m_dBIBtime
Definition: TrigJetCRVARHypoTool.h:109
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
xAOD::CaloCluster_v1::rawEta
flt_t rawEta() const
Get in signal state UNCALIBRATED.
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrigJetCRVARHypoTool::emf_dis
bool emf_dis(const xAOD::Jet *jet) const
Definition: TrigJetCRVARHypoTool.cxx:68
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
TrigCompositeUtils::passed
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
Definition: TrigCompositeUtilsRoot.cxx:117
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::CaloCluster_v1::getMomentValue
double getMomentValue(MomentType type) const
Retrieve individual moment - no check for existance! Returns -999 on error.
Definition: CaloCluster_v1.h:906
HLT::Identifier::numeric
TrigCompositeUtils::DecisionID numeric() const
numeric ID
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:47
TrigJetCRVARHypoTool::decide_on_single_jet
bool decide_on_single_jet(JetInfo &input) const
Auxiluary method, single jet selection.
Definition: TrigJetCRVARHypoTool.cxx:142
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
index
Definition: index.py:1
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TrigJetCRVARHypoTool::m_visitDebug
Gaudi::Property< bool > m_visitDebug
Definition: TrigJetCRVARHypoTool.h:91
TrigCompositeUtils::addDecisionID
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
Definition: TrigCompositeUtilsRoot.cxx:61
TrigJetCRVARHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigJetCRVARHypoTool.h:85
TrigJetCRVARHypoTool::m_deltaR
Gaudi::Property< float > m_deltaR
Definition: TrigJetCRVARHypoTool.h:101
CaloCell_ID_FCS::FCAL1
@ FCAL1
Definition: FastCaloSim_CaloCell_ID.h:41
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
TrigJetCRVARHypoTool::m_countCaloCell
Gaudi::Property< int > m_countCaloCell
Definition: TrigJetCRVARHypoTool.h:110
xAOD::CaloCluster_v1::CENTER_LAMBDA
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
Definition: CaloCluster_v1.h:136
lineSplitter
std::vector< std::string > lineSplitter(const std::string &s, char delimiter)
Definition: lineSplitter.cxx:8
xAOD::P4Helpers::deltaPhi
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[
Definition: xAODP4Helpers.h:69
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
x
#define x
CxxUtils::fpcompare::greater
bool greater(double a, double b)
Compare two FP numbers, working around x87 precision issues.
Definition: fpcompare.h:140
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CxxUtils::fpcompare::equal
bool equal(double a, double b)
Compare two FP numbers, working around x87 precision issues.
Definition: fpcompare.h:114
HLT::Identifier::fromToolName
static HLT::Identifier fromToolName(const std::string &tname)
Definition: HLTIdentifier.cxx:31
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
TrigJetCRVARHypoTool::m_jetlogRCut
Gaudi::Property< float > m_jetlogRCut
Definition: TrigJetCRVARHypoTool.h:97
lumiFormat.i
int i
Definition: lumiFormat.py:92
z
#define z
xAOD::P4Helpers::deltaR
double deltaR(double rapidity1, double phi1, double rapidity2, double phi2)
from bare bare rapidity,phi
Definition: xAODP4Helpers.h:150
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
DebugInfoCollector
Definition: DebugInfoCollector.h:13
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
test_pyathena.parent
parent
Definition: test_pyathena.py:15
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TrigJetCRVARHypoTool::m_trackPtCut
Gaudi::Property< float > m_trackPtCut
Definition: TrigJetCRVARHypoTool.h:100
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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
TrigJetCRVARHypoTool::m_minCellEt
Gaudi::Property< float > m_minCellEt
Definition: TrigJetCRVARHypoTool.h:107
CxxUtils::fpcompare::greater_equal
bool greater_equal(double a, double b)
Compare two FP numbers, working around x87 precision issues.
Definition: fpcompare.h:192
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:63
DeMoScan.index
string index
Definition: DeMoScan.py:362
a
TList * a
Definition: liststreamerinfos.cxx:10
y
#define y
h
xAOD::CaloCluster_v1::rawPhi
flt_t rawPhi() const
Get in signal state UNCALIBRATED.
TrigJetCRVARHypoTool::m_celltime
Gaudi::Property< float > m_celltime
Definition: TrigJetCRVARHypoTool.h:108
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigJetCRVARHypoTool::m_helper
ToolHandle< ITrigJetHypoToolHelper > m_helper
Definition: TrigJetCRVARHypoTool.h:87
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
TrigJetCRVARHypoTool::m_pufixLogRatio
Gaudi::Property< float > m_pufixLogRatio
Definition: TrigJetCRVARHypoTool.h:99
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TrigJetCRVARHypoTool::m_doBIBrm
Gaudi::Property< bool > m_doBIBrm
Definition: TrigJetCRVARHypoTool.h:103
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
fitman.k
k
Definition: fitman.py:528