ATLAS Offline Software
BTagVertex_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // $Id: BTagging_v1$
6 
7 // EDM include(s):
9 // Local include(s):
11 //#include "BTagVertexAccessors_v1.h"
12 
13 
14 namespace xAOD {
15 
16  BTagVertex_v1::BTagVertex_v1(): SG::AuxElement() {
17  }
18 
19  // Implementation of "basic" accessors
20 
23  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( BTagVertex_v1, float, pv_compatibility, setPV_compatibility )
24  AUXSTORE_OBJECT_SETTER_AND_GETTER( BTagVertex_v1, std::vector<float>, compToOtherSV, setCompToOtherSV)
25 
26 
27  // Implementation of accessors for the constituent tracks
28 
29  AUXSTORE_OBJECT_SETTER_AND_GETTER( BTagVertex_v1, std::vector<float>, track_chi2, setTrack_chi2)
30  AUXSTORE_OBJECT_SETTER_AND_GETTER( BTagVertex_v1, std::vector<float>, track_NDF, setTrack_NDF)
31  AUXSTORE_OBJECT_SETTER_AND_GETTER( BTagVertex_v1, std::vector<float>, track_refPx, setTrack_refPx)
32  AUXSTORE_OBJECT_SETTER_AND_GETTER( BTagVertex_v1, std::vector<float>, track_refPy, setTrack_refPy)
33  AUXSTORE_OBJECT_SETTER_AND_GETTER( BTagVertex_v1, std::vector<float>, track_refPz, setTrack_refPz)
34 
35  static const SG::AuxElement::Accessor<std::vector< ElementLink< xAOD::TrackParticleContainer > > > track_linkAcc( "track_links" );
36 
37  const std::vector<ElementLink<xAOD::TrackParticleContainer> >& BTagVertex_v1::track_links() const {
38  return track_linkAcc( *this );
39  }
40 
42  track_linkAcc( *this ) = value;
43  return;
44  }
45 
46 
47 
49 
50  // if (reco_vertexLinkAcc.isAvailableWritable(*this)) {
51  // std::vector<ElementLink<xAOD::BTagVertexContainer> >::iterator itEnd = reco_vertexLinkAcc(*this).end();
52  // for (std::vector<ElementLink<xAOD::BTagVertexContainer> >::iterator it = reco_vertexLinkAcc(*this).begin(); it != itEnd; ++it) {
53  // it->toPersistent();
54  // }
55  // }
56 
57  if (track_linkAcc.isAvailableWritable(*this)) {
58  std::vector<ElementLink<xAOD::TrackParticleContainer> >::iterator itEnd = track_linkAcc(*this).end();
59  for (std::vector<ElementLink<xAOD::TrackParticleContainer> >::iterator it = track_linkAcc(*this).begin(); it != itEnd; ++it) {
60  it->toPersistent();
61  }
62  }
63  }
64 
65 }
66 
67 
xAOD::AUXSTORE_PRIMITIVE_SETTER_AND_GETTER
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
BTagVertex_v1.h
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:66
AuxStoreAccessorMacros.h
skel.it
it
Definition: skel.GENtoEVGEN.py:423
athena.value
value
Definition: athena.py:122
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::BTagVertex_v1::BTagVertex_v1
BTagVertex_v1()
Default constructor.
Definition: BTagVertex_v1.cxx:16
xAOD::BTagVertex_v1::setTrack_links
void setTrack_links(const TPELinks_t &links)
set track ElementLinks
Definition: BTagVertex_v1.cxx:41
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
xAOD::BTagVertex_v1
Definition: BTagVertex_v1.h:33
xAOD::BTagVertex_v1::toPersistent
void toPersistent()
Definition: BTagVertex_v1.cxx:48
xAOD::BTagVertex_v1::track_links
const TPELinks_t & track_links() const
get track ElementLinks
Definition: BTagVertex_v1.cxx:37
xAOD::JetConstituentVector::iterator
Definition: JetConstituentVector.h:121
xAOD::AUXSTORE_OBJECT_SETTER_AND_GETTER
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1
Definition: CaloRings_v1.cxx:27