29 setSV0_significance3D )
33 sv0TPAcc1(
"SV0_TrackParticles" );
39 if( sv0TPAcc1.isAvailable( *
this ) ) {
40 return sv0TPAcc1( *
this );
53 if( ( ! sv0TPAcc1.isAvailable( *
this ) ) &&
58 if( tpl.size() <= i ) {
69 if( ( ! sv0TPAcc1.isAvailable( *
this ) ) &&
122 if( ( !
sv1TPAcc1.isAvailable( *
this ) ) &&
127 if( tpl.size() <= i ) {
133 return *( tpl[ i ] );
138 if( ( !
sv1TPAcc1.isAvailable( *
this ) ) &&
175 ip2dTPAcc1(
"IP2D_TrackParticles" );
181 if( ip2dTPAcc1.isAvailable( *
this ) ) {
182 return ip2dTPAcc1( *this );
196 if( ( ! ip2dTPAcc1.isAvailable( *
this ) ) &&
201 if( tpl.size() <= i ) {
207 return *( tpl[ i ] );
212 if( ( ! ip2dTPAcc1.isAvailable( *
this ) ) &&
272 if( tpl.size() <= i ) {
278 return *( tpl[ i ] );
331 if( !pbvalid || !puvalid )
return false;
332 if(
"IP3D"==taggername&&
pb==1.&&
pu==1.e9) {
345 }
else if(denominator<=0.) {
348 val = log(numerator/denominator);
356 if ( output ) value = tmp;
363 if ( output ) value = tmp;
370 if ( output ) value = tmp;
377 if ( output ) value = tmp;
384 if ( output ) value = tmp;
393 setMV1_discriminant )
404 if( !
acc )
return false;
405 if( !
acc->isAvailable( *
this ) )
return false;
406 value = ( *acc )( *this );
413 if( !
acc )
return false;
414 if( !
acc->isAvailable( *
this ) )
return false;
415 value = ( *acc )( *this );
422 if( !
acc )
return false;
423 if( !
acc->isAvailable( *
this ) )
return false;
424 value = ( *acc )( *this );
432 if( !
acc )
return false;
433 if( !
acc->isAvailable( *
this ) )
return false;
434 value = ( *acc )( *this );
442 if( !
acc )
return false;
443 if( !
acc->isAvailable( *
this ) )
return false;
444 value = ( *acc )( *this );
452 if( !
acc )
return false;
453 if( !
acc->isAvailable( *
this ) )
return false;
454 value = ( *acc )( *this );
462 if( !
acc )
return false;
463 if( !
acc->isAvailable( *
this ) )
return false;
464 value = ( *acc )( *this );
472 ( *acc )( *this ) =
value;
480 ( *acc )( *this ) = value;
488 ( *acc )( *this ) =
uint8_t(value);
497 ( *acc )( *this ) = value;
506 ( *acc )( *this ) = value;
515 ( *acc )( *this ) = value;
524 ( *acc )( *this ) = value;
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of primitive auxiliary properties.
SG::Accessor< T, ALLOC > Accessor
void clearIP3D_TrackParticleLinks()
clear vector of IP3D TrackParticle ElementLinks
bool loglikelihoodratio(const std::string &taggername, double &value, const std::string &signal="pb", const std::string &bckgd="pu") const
bool pc(const std::string &taggername, double &value) const
bool pu(const std::string &taggername, double &value) const
bool pb(const std::string &taggername, double &value) const
const TPELVec_t & IP3D_TrackParticleLinks() const
get vector of IP3D TrackParticle ElementLinks
const xAOD::TrackParticle * SV0_TrackParticle(size_t i) const
Get one particular SV0 TrackParticle as a bare pointer.
void setDynBTagVxELName(const std::string &taggername, const std::string &variablename)
void setTaggerInfo(int value, BTagInfo info)
set taggers information (int)
const TPELVec_t & SV0_TrackParticleLinks() const
get vector of SV0 TrackParticle ElementLinks
void clearSV1_TrackParticleLinks()
clear vector of SV1 TrackParticle ElementLinks
void setDynVxELName(const std::string &taggername, const std::string &variablename)
size_t nSV0_TrackParticles() const
Get the number of SV0 TrackParticles associated with the object.
void setSV0_TrackParticleLinks(const TPELVec_t &value)
set vector of SV0 TrackParticle ElementLinks
size_t nIP2D_TrackParticles() const
Get the number of IP2D TrackParticles associated with the object.
const xAOD::TrackParticle * SV1_TrackParticle(size_t i) const
Get one particular SV1 TrackParticle as a bare pointer.
size_t nSV1_TrackParticles() const
Get the number of SV1 TrackParticles associated with the object.
void addIP3D_TrackParticle(const ElementLink< xAOD::TrackParticleContainer > &link)
add a TrackParticle ElementLink for IP3D
bool ptau(const std::string &taggername, double &value) const
float calcLLR(double num, double den) const
void addIP2D_TrackParticle(const ElementLink< xAOD::TrackParticleContainer > &link)
add a TrackParticle ElementLink for IP2D
const xAOD::TrackParticle * IP3D_TrackParticle(size_t i) const
Get one particular IP3D TrackParticle as a bare pointer.
void setSV1_TrackParticleLinks(const TPELVec_t &value)
set vector of SV1 TrackParticle ElementLinks
void clearIP2D_TrackParticleLinks()
clear vector of IP2D TrackParticle ElementLinks
void setDynTPELName(const std::string &taggername, const std::string &variablename)
const TPELVec_t & SV1_TrackParticleLinks() const
get vector of SV1 TrackParticle ElementLinks
const TPELVec_t & IP2D_TrackParticleLinks() const
get vector of IP2D TrackParticle ElementLinks
const xAOD::TrackParticle * IP2D_TrackParticle(size_t i) const
Get one particular IP2D TrackParticle as a bare pointer.
bool taggerInfo(int &value, BTagInfo info) const
get taggers information (int)
void setIP3D_TrackParticleLinks(const TPELVec_t &value)
set vector of IP3D TrackParticle ElementLinks
bool variable(const std::string &taggername, const std::string &variablename, T &value) const
get variables by string
void setIP2D_TrackParticleLinks(const TPELVec_t &value)
set vector of IP2D TrackParticle ElementLinks
BTagging_v1()
Default constructor.
std::vector< ElementLink< xAOD::TrackParticleContainer > > TPELVec_t
A helper typedef.
void addSV0_TrackParticle(const ElementLink< xAOD::TrackParticleContainer > &link)
add a TrackParticle ElementLink for SV0
size_t nIP3D_TrackParticles() const
Get the number of IP3D TrackParticles associated with the object.
void addSV1_TrackParticle(const ElementLink< xAOD::TrackParticleContainer > &link)
add a TrackParticle ElementLink for SV1
bool MVx_discriminant(const std::string &taggername, double &value) const
void clearSV0_TrackParticleLinks()
clear vector of SV0 TrackParticle ElementLinks
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const SG::AuxElement::Accessor< int > * taggerInfoAccessorV1int(BTagInfo info)
Helper function for managing BTagging Accessor objects.
const SG::AuxElement::Accessor< uint8_t > * taggerInfoAccessorV1uint8_t(BTagInfo info)
const SG::AuxElement::Accessor< float > * taggerInfoAccessorV1float(BTagInfo info)
static const SG::AuxElement::Accessor< BTagging_v1::TPELVec_t > ip3dTPAcc2("IP3D_TrackParticleLinks")
static const SG::AuxElement::Accessor< BTagging_v1::TPELVec_t > sv1TPAcc1("SV1_TrackParticles")
const SG::AuxElement::Accessor< std::vector< float > > * taggerInfoAccessorV1vectorOfFloats(BTagInfo info)
static const SG::AuxElement::Accessor< BTagging_v1::TPELVec_t > ip3dTPAcc1("IP3D_TrackParticles")
TrackParticle_v1 TrackParticle
Reference the current persistent version:
static const SG::AuxElement::Accessor< BTagging_v1::TPELVec_t > sv1TPAcc2("SV1_TrackParticleLinks")
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
static AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, SV0_significance3D, setSV0_significance3D) static const SG const SG::AuxElement::Accessor< BTagging_v1::TPELVec_t > sv0TPAcc2("SV0_TrackParticleLinks")
setBGCode setTAP setLVL2ErrorBits bool
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.
setIP2D_pu static AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pc, setIP2D_pc) static const SG const SG::AuxElement::Accessor< BTagging_v1::TPELVec_t > ip2dTPAcc2("IP2D_TrackParticleLinks")
const SG::AuxElement::Accessor< std::vector< int > > * taggerInfoAccessorV1vectorOfInts(BTagInfo info)
const SG::AuxElement::Accessor< std::vector< bool > > * taggerInfoAccessorV1vectorOfBools(BTagInfo info)
const SG::AuxElement::Accessor< std::string > * taggerInfoAccessorV1string(BTagInfo info)