|
ATLAS Offline Software
|
Implementation for the "FSR" provider tool.
More...
#include <FsrPhotonTool.h>
|
| FsrPhotonTool (const std::string &name) |
| Create a proper constructor for Athena. More...
|
|
| ~FsrPhotonTool () |
| Create a destructor. More...
|
|
virtual void | print () const =0 |
| Print the state of the tool. More...
|
|
virtual void | print () const |
| Print the state of the tool. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &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 | initialize () |
| Function initialising the tool. More...
|
|
|
virtual CP::CorrectionCode | getFsrPhoton (const xAOD::IParticle *part, FsrCandidate &candidate, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons) |
| Get the "FSR candidate" as a return value for a muon (collinar and far FSR) More...
|
|
virtual std::vector< FsrCandidate > * | getFsrCandidateList (const xAOD::IParticle *part, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons) |
| Find ALL FSR candidates for a given particle (electron or muon) providing newly calibrated photon and electron containers. More...
|
|
virtual std::vector< FsrCandidate > * | getFarFsrCandidateList (const xAOD::IParticle *part, xAOD::PhotonContainer *photons_cont) |
| Find and Return ALL FAR FSR candidates. More...
|
|
virtual std::vector< FsrCandidate > * | getNearFsrCandidateList (const xAOD::Muon *part, const xAOD::PhotonContainer *photons_cont, const xAOD::ElectronContainer *electrons_cont) |
| Find and Return ALL NEAR FSR candidates. More...
|
|
|
std::vector< FsrCandidate > * | sortFsrCandidates (const std::vector< std::pair< const xAOD::IParticle *, double > > &FsrCandList, const std::string &option="ET") |
| Need for the FSR search. More...
|
|
bool | isOverlap (const xAOD::Electron_v1 *electron, const std::vector< std::pair< const xAOD::IParticle *, double > > &phfsr, unsigned int nofPhFsr) |
|
double | deltaR (float muonEta, float muonPhi, float phEta, float phPhi) const |
|
double | deltaPhi (float phi1, float phi2) const |
|
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...
|
|
Implementation for the "FSR" provider tool.
- Author
- Tulay Cuhadar Donszelmann tcuha.nosp@m.dar@.nosp@m.cern..nosp@m.ch
Definition at line 29 of file FsrPhotonTool.h.
◆ StoreGateSvc_t
◆ FsrPhotonTool()
FSR::FsrPhotonTool::FsrPhotonTool |
( |
const std::string & |
name | ) |
|
Create a proper constructor for Athena.
Create a constructor for standalone usage
Definition at line 22 of file FsrPhotonTool.cxx.
◆ ~FsrPhotonTool()
FSR::FsrPhotonTool::~FsrPhotonTool |
( |
| ) |
|
◆ compareEt()
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ deltaPhi()
double FSR::FsrPhotonTool::deltaPhi |
( |
float |
phi1, |
|
|
float |
phi2 |
|
) |
| const |
|
private |
◆ deltaR()
double FSR::FsrPhotonTool::deltaR |
( |
float |
muonEta, |
|
|
float |
muonPhi, |
|
|
float |
phEta, |
|
|
float |
phPhi |
|
) |
| const |
|
private |
Definition at line 482 of file FsrPhotonTool.cxx.
484 double deta = fabs(meta - peta);
486 double dR = sqrt((dphi*dphi)+(deta*deta));
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getFarFsrCandidateList()
Find and Return ALL FAR FSR candidates.
Set FSR type to far
return sorted list
Implements FSR::IFsrPhotonTool.
Definition at line 199 of file FsrPhotonTool.cxx.
208 std::vector< std::pair <const xAOD::IParticle*, double> > farFsrCandList;
209 farFsrCandList.clear();
210 farFsrCandList.reserve(photons_cont->
size());
216 ATH_MSG_DEBUG(
"In getFarFsrCandidateList function : photon size = " << photons_cont->
size());
218 for (
auto ph : *photons_cont) {
220 bool is_tight_photon = DFCommonPhotonsIsEMTight(*ph);
228 ATH_MSG_ERROR(
"applyIsoSelection: Unable to apply iso correction for photon " << ph->pt());
237 bool far_fsr_drcut_isOK =
false;
242 if (far_fsr_drcut_isOK &&
dr < 0.2) {
243 ATH_MSG_VERBOSE(
"Far Fsr candidate kinematics : author " << ph->author()
244 <<
" Et = " << ph->p4().Et()
246 <<
" isoIsOK = " << farPhIsoOK );
249 if(far_fsr_drcut_isOK) farFsrCandList.push_back(std::make_pair(ph,
dr));
252 ATH_MSG_DEBUG(
"Far Fsr candidate kinematics : author " << ph->author()
253 <<
" Et = " << ph->p4().Et()
254 <<
" tight = " << is_tight_photon
255 <<
" farPhIsoOK = " << farPhIsoOK
256 <<
" far_fsr_drcut_isOK = " << far_fsr_drcut_isOK);
◆ getFsrCandidateList()
Find ALL FSR candidates for a given particle (electron or muon) providing newly calibrated photon and electron containers.
Search for far fsr for for electron and muon Electron : far fsr is the only option - return the result Muon : In case collinar fsr not found, check the far fsr
Set FSR type to far
Implements FSR::IFsrPhotonTool.
Definition at line 150 of file FsrPhotonTool.cxx.
159 ATH_MSG_ERROR(
"getFsrCandidateList: No Photon container provided" );
164 photons_cont = photons;
169 ATH_MSG_ERROR(
"getFsrCandidateList: No Electron container provided" );
182 m_fsr_type = FsrCandidate::FsrType::FsrUnknown;
◆ getFsrPhoton()
Get the "FSR candidate" as a return value for a muon (collinar and far FSR)
Implements FSR::IFsrPhotonTool.
Definition at line 116 of file FsrPhotonTool.cxx.
122 ATH_MSG_ERROR(
"getFsrPhoton: You MUST provide photon AND electron containers" );
123 candidate = FsrCandidate();
133 if (cands->size() > 0) {
134 candidate = cands->at(0);
137 candidate = FsrCandidate();
139 <<
", deltaR = " << candidate.deltaR
140 <<
", Et = " << candidate.Et
141 <<
", Eta = " << candidate.eta
142 <<
", Phi = " << candidate.phi
143 <<
", type = " <<candidate.type);
◆ getKey()
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getName
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The hashed key of the object in the store. If not found, an invalid (zero) key.
Definition at line 119 of file AsgTool.cxx.
121 #ifdef XAOD_STANDALONE
124 return evtStore()->event()->getKey( ptr );
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getName()
const std::string & asg::AsgTool::getName |
( |
const void * |
ptr | ) |
const |
|
inherited |
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getKey
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The string name of the object in the store. If not found, an empty string.
Definition at line 106 of file AsgTool.cxx.
108 #ifdef XAOD_STANDALONE
111 return evtStore()->event()->getName( ptr );
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getNearFsrCandidateList()
Find and Return ALL NEAR FSR candidates.
Set FSR type to far
Start looking for collinar FSR for muons Loop over photon candidates and choose the FSR photons
Implements FSR::IFsrPhotonTool.
Definition at line 265 of file FsrPhotonTool.cxx.
271 std::vector< std::pair <const xAOD::IParticle*, double> > nearFsrCandList;
273 nearFsrCandList.reserve(photons_cont->
size()+electrons_cont->
size());
274 ATH_MSG_DEBUG(
"In getNearFsrCandidateList function : photon size = " << photons_cont->
size()
275 <<
", electron size = " << electrons_cont->
size());
277 for (
auto photon : *photons_cont) {
285 && (m_etcut < photon->p4().Et())) ) {
292 nearFsrCandList.push_back(std::make_pair(
photon,
dr));
293 ATH_MSG_DEBUG(
"Near Fsr candidates ( photon ) kinematics ; author "
295 <<
" Et = " <<
photon->p4().Et()
296 <<
" f1 = " << photon_f1
302 unsigned int nofPhFsr = nearFsrCandList.size();
305 for (
auto electron : *electrons_cont)
308 if ( (nearFsrCandList.size() > 0) &&
isOverlap(
electron, nearFsrCandList, nofPhFsr) )
continue;
324 float clEt = eCorr*
electron->caloCluster()->et();
326 ATH_MSG_VERBOSE(
"Near Fsr candidate ( electron ) Et = " << clEt <<
" eCorr " << eCorr);
330 if( elmutrackmatch &&
332 (m_high_et_min < clEt && electron_f1 >
m_f1cut )) ) {
337 nearFsrCandList.push_back(std::make_pair(
electron,
dr));
338 ATH_MSG_DEBUG(
"Near Fsr candidates ( electron ) kinematics : author "
341 <<
" f1 = " << electron_f1
344 else ATH_MSG_VERBOSE(
"FAILED Near Fsr candidates ( electron ) kinematics : author "
347 <<
" f1 = " << electron_f1
354 ATH_MSG_DEBUG(
"FAILED Near Fsr candidates ( electron ) kinematics : author "
357 <<
" f1 = " << electron_f1
359 <<
" theta/phi el/mu " << electron_track->
theta() <<
"/" <<
muon->p4().Theta()
360 <<
"/" << electron_track->
phi() <<
"/" <<
muon->phi()
361 <<
" theta/phi mu trk " << muon_track->
theta() <<
"/" << muon_track->
phi()
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ initialize()
StatusCode FSR::FsrPhotonTool::initialize |
( |
| ) |
|
|
virtual |
Function initialising the tool.
Reimplemented from asg::AsgTool.
Definition at line 50 of file FsrPhotonTool.cxx.
85 RETURN_CHECK(
"initialize", config2.createPrivateTool(
"IsolationSelectionTool",
"CP::IsolationSelectionTool"));
100 return StatusCode::FAILURE;
106 ATH_MSG_ERROR(
"initialize - CANNOT retrive IEgammaCalibrationAndSmearingTool. Please set the property 'egCalibToolName' to be able to recalibrate fsr photon found as an electron ");
107 return StatusCode::FAILURE;
112 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isOverlap()
Definition at line 459 of file FsrPhotonTool.cxx.
461 for (
unsigned int indx=0; indx < nofPhFsr; indx++ ) {
466 ph_cl->
eta(), ph_cl->
phi());
468 << ph_cl->
et() <<
"/" << el_cl->
et());
◆ msg() [1/2]
◆ msg() [2/2]
◆ msg_level_name()
const std::string & asg::AsgTool::msg_level_name |
( |
| ) |
const |
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
MSG::name( msg().level() )
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
- Returns
- The string name of the current minimum message level that's printed
Definition at line 101 of file AsgTool.cxx.
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ print() [1/2]
void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, top::TopObjectSelection, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ print() [2/2]
virtual void asg::IAsgTool::print |
( |
| ) |
const |
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, top::TopObjectSelection, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
◆ renounce()
◆ renounceArray()
◆ sortFsrCandidates()
Need for the FSR search.
Definition at line 372 of file FsrPhotonTool.cxx.
378 for (
unsigned int i=0;
i < FsrCandList.size();
i++ ) {
385 c.container =
"electron" ;
390 photon.Egamma_v1::operator=(*electron);
392 ATH_MSG_ERROR(
"FsrPhotonTool::sortFsrCandidates: Unable to applyCorrection to photon ");
396 c.eta =
photon.caloCluster()->eta();
397 c.phi =
photon.caloCluster()->phi();
400 <<
electron->caloCluster()->eta() <<
"/" <<
electron->caloCluster()->phi() <<
" "
402 <<
photon.caloCluster()->eta() <<
"/" <<
photon.caloCluster()->phi());
414 float clEt = eCorr*
electron->caloCluster()->et();
423 c.container =
"photon";
430 ATH_MSG_WARNING(
"sortFsrCandidates: undefined particle - NOT electron nor photon. Should never get here!" );
437 c.deltaR = FsrCandList.at(
i).second;
438 if(
c.deltaR < 0.05)
c.Et -= 400./cosh(
particle->eta());
442 ATH_MSG_DEBUG(
"sortFsrCandidates: save fsr candidate f1 = " <<
c.f1
443 <<
", deltaR = " <<
c.deltaR
445 <<
", Eta = " <<
c.eta
446 <<
", Phi = " <<
c.phi
447 <<
", type = " <<
c.type);
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_AFII_corr
bool FSR::FsrPhotonTool::m_AFII_corr |
|
private |
◆ m_detStore
◆ m_drcut
double FSR::FsrPhotonTool::m_drcut |
|
private |
◆ m_energyRescaler
◆ m_energyRescalerName
std::string FSR::FsrPhotonTool::m_energyRescalerName |
|
private |
◆ m_etcut
double FSR::FsrPhotonTool::m_etcut |
|
private |
◆ m_evtStore
◆ m_f1cut
double FSR::FsrPhotonTool::m_f1cut |
|
private |
◆ m_far_fsr_drcut
double FSR::FsrPhotonTool::m_far_fsr_drcut |
|
private |
◆ m_far_fsr_etcut
double FSR::FsrPhotonTool::m_far_fsr_etcut |
|
private |
◆ m_far_fsr_isoWorkingPoint
std::string FSR::FsrPhotonTool::m_far_fsr_isoWorkingPoint |
|
private |
◆ m_fsr_type
◆ m_fsrPhotons
◆ m_high_et_min
double FSR::FsrPhotonTool::m_high_et_min |
|
private |
◆ m_is_mc
bool FSR::FsrPhotonTool::m_is_mc |
|
private |
◆ m_isoCloseByCorrTool
◆ m_isoCorrTool
◆ m_overlap_el_mu
double FSR::FsrPhotonTool::m_overlap_el_mu |
|
private |
◆ m_overlap_el_ph
double FSR::FsrPhotonTool::m_overlap_el_ph |
|
private |
◆ m_topo_drcut
double FSR::FsrPhotonTool::m_topo_drcut |
|
private |
◆ m_topo_f1cut
double FSR::FsrPhotonTool::m_topo_f1cut |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
virtual double phi() const
The azimuthal angle ( ) of the particle.
#define RETURN_CHECK(CONTEXT, EXP)
Helper macro for checking return codes in a compact form in the code.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
@ topoetcone20
Topo-cluster ET-sum.
Helper class to provide type-safe access to aux data.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
Class providing the definition of the 4-vector interface.
virtual void setOwner(IDataHandleHolder *o)=0
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
@ Error
Some error happened during the object correction.
Description of a calorimeter cluster.
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
virtual double eta() const
The pseudorapidity ( ) of the particle.
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
@ Ok
The correction was done successfully.
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
DataVector adapter that acts like it holds const pointers.
Return value from object correction CP tools.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Class describing a TrackParticle.
setBGCode setTAP setLVL2ErrorBits bool
float theta() const
Returns the parameter, which has range 0 to .
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)