ATLAS Offline Software
TrigBphys_v1.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: TrigBphys_v1.h 696633 2015-09-24 14:59:50Z jwalder $
8 #ifndef XAODTRIGBPHYS_VERSIONS_TRIGBPHYS_V1_H
9 #define XAODTRIGBPHYS_VERSIONS_TRIGBPHYS_V1_H
10 
11 // System include(s):
12 extern "C" {
13 # include <stdint.h>
14 }
15 #include <vector>
16 #include <string>
17 
18 // xAOD include(s):
22 
23 // athena includes
24 #include "AthLinks/ElementLink.h"
26 
27 namespace xAOD {
28 
29  // forward declarations, so that we can use TrigBphysContainer_v1 in TrigBphys_v1
30  class TrigBphys_v1;
32 
44  class TrigBphys_v1 : public SG::AuxElement {
45 
46  public:
48  enum pType {
49  PHIKK = 0,
50  DSPHIPI = 1,
51  BMUMU = 2,
52  BMUMUX = 3,
53  JPSIEE = 4,
54  JPSIMUMU = 5,
55  MULTIMU = 6,
56  BKMUMU = 7,
57  BDKSTMUMU = 8,
58  BSPHIMUMU = 9,
59  LBLMUMU = 10,
60  BCDSMUMU = 11,
61  // added JW: 21/09/15 for 2016 edm running
62  LAMBDAPIP = 12, // Lambda^0 -> pi- p
63  BCDPMUMU = 13, // B_c -> D+ mu mu
64  BCDSTMUMU = 14, // B_c -> D*+ mu mu
65  OMEGALAMK = 15, // Omega- -> Lambda^0 K-
66  XILAMPI = 16, // Xi- -> Lambda^0 pi-
67  DSTDZPI = 17, // D*+ -> D0 pi+
68  DZMUKX = 18, // D0 -> mu+ K- X
69  DZKPI = 19, // D0 -> K- pi+
70  DPKPIPI = 20, // D+ -> K- pi+ pi+
71  BCPIMUMU = 21, // B_c+ -> pi+ mu mu
72  LBPQMUMU = 22, // Lambda_b0 -> P_c+(-> J/psi p) K-, pentaquark states
73  B2D0MUX = 23, // B+ -> mu+ nu_mu anti-D0(-> K+ pi-)
74  BD2DMMUX = 24, // B0 -> mu+ nu_mu D-(->K+ pi- pi-)
75  BD2DSTMUX = 25, // B0 -> mu+ nu_mu D*-(->anti-D0(->K+ pi-) pi-)
76  BS2DSMUX = 26, // B_s0 -> mu+ nu_mu D_s-(->phi(->K+ K-) pi-)
77  LB2LCMUX = 27, // anti-Lambda_b0 -> mu+ nu_mu anti-Lambda_c-(-> anti-p K+ pi-)
78  UNKNOWNPTYPE = 9999
79  };
80 
82  enum levelType{
84  L2 = 2,
85  EF = 3,
86  HLT = 4,
87  LASTLEVEL
88  };
89 
91  TrigBphys_v1();
92 
93  //**clone method, essentially a replacement for a copy constructor*/
94  void clone(const TrigBphys_v1 &rhs);
95 
96  //** initialise with defaults. Attempt to call this after creating a particle */
97  void initialise();
98 
99  //** initialise with given parameters */
100  void initialise(uint32_t roi, float eta, float phi, float pt,
102  float mass, levelType level);
103  void initialise(uint32_t roi, float eta, float phi, pType particleType,
104  float mass, levelType level);
107  void initialise(uint32_t roi, float eta, float phi, float pt,
109  float mass, const ElementLink<xAOD::TrigBphysContainer_v1>& sDecay,
110  levelType level);
111  void initialise(uint32_t roi, float eta, float phi, pType particleType,
112  float mass, const ElementLink<xAOD::TrigBphysContainer_v1>& sDecay,
113  levelType level);
114 
115  bool operator==(const TrigBphys_v1& rhs) const;
116  bool operator!=(const TrigBphys_v1& rhs) const {return !((*this)==rhs);}
117 
119  uint32_t roiId() const;
123  levelType level() const;
125  float eta() const;
127  float phi() const;
129  float pt() const;
131  float mass() const;
133  float fitmass() const;
135  float fitchi2() const;
137  int fitndof() const;
139  float fitx() const;
141  float fity() const;
143  float fitz() const;
144 
146  float lxy () const;
148  float lxyError() const;
150  float tau () const;
152  float tauError() const;
154  float fitmassError() const;
155 
157  const TrigBphys_v1* secondaryDecay() const;
160 
162  const std::vector< ElementLink< xAOD::TrackParticleContainer > >&
166  const std::vector< ElementLink< TrackParticleContainer > >& links );
168  size_t nTrackParticles() const;
170  const xAOD::TrackParticle* trackParticle( size_t i ) const;
171 
173  void setEta (float);
175  void setPhi (float);
177  void setMass(float);
179  void setPt(float);
180 
182  void setRoiId(uint32_t id);
188  void setFitmass(float FitMass);
190  void setFitchi2(float FitChi2);
192  void setFitndof(int FitNdof);
194  void setFitx(float FitX);
196  void setFity(float FitY);
198  void setFitz(float FitZ);
203 
205  void setLxy (float v);
207  void setLxyError(float v);
209  void setTau (float v);
211  void setTauError(float v);
213  void setFitmassError(float v);
214 
215 
217  const std::vector< uint32_t > & vecRoiIds() const;
219  void setVecRoiIds(const std::vector< uint32_t >& roiIds );
221  size_t nVecRoiIds() const;
223  uint32_t vecRoiId( size_t i ) const;
224  void addVecRoiId(uint32_t roiId);
225 
226 
227 
229  const TrigBphys_v1* lowerChain() const;
234 
236  const std::vector< ElementLink< xAOD::IParticleContainer > >&
237  particleLinks() const;
241  size_t nParticles() const;
243  const xAOD::IParticle* particle( size_t i ) const;
245 
246  TrigBphys_v1& operator=(const TrigBphys_v1 & rhs) = default;
247  private:
248  //** Copy constructor */
249  TrigBphys_v1(const TrigBphys_v1 & rhs) = delete;
250 
251  }; // TrigBphys
252 
253 } // namespace AOD
254 
255 #endif // XAODTRIGBPHYS_VERSIONS_TRIGBPHYS_V1_H
xAOD::TrigBphys_v1::DSPHIPI
@ DSPHIPI
Definition: TrigBphys_v1.h:50
xAOD::TrigBphys_v1::vecRoiId
uint32_t vecRoiId(size_t i) const
Get the Nth roiId.
Definition: TrigBphys_v1.cxx:344
xAOD::TrigBphys_v1::operator!=
bool operator!=(const TrigBphys_v1 &rhs) const
Definition: TrigBphys_v1.h:116
xAOD::TrigBphys_v1::LAMBDAPIP
@ LAMBDAPIP
Definition: TrigBphys_v1.h:62
xAOD::TrigBphys_v1::setFitchi2
void setFitchi2(float FitChi2)
set method: chi2 from vertex fit
xAOD::TrigBphys_v1::setPhi
void setPhi(float)
Set the azimuth angle of the object.
xAOD::TrigBphys_v1::addVecRoiId
void addVecRoiId(uint32_t roiId)
add a roiId to the vector
Definition: TrigBphys_v1.cxx:356
xAOD::TrigBphys_v1::BD2DSTMUX
@ BD2DSTMUX
Definition: TrigBphys_v1.h:75
xAOD::TrigBphys_v1::BDKSTMUMU
@ BDKSTMUMU
Definition: TrigBphys_v1.h:57
xAOD::TrigBphys_v1::BSPHIMUMU
@ BSPHIMUMU
Definition: TrigBphys_v1.h:58
xAOD::TrigBphys_v1::setPt
void setPt(float)
Set the pT of the object.
Definition: TrigBphys_v1.cxx:371
xAOD::TrigBphys_v1::TrigBphys_v1
TrigBphys_v1(const TrigBphys_v1 &rhs)=delete
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::TrigBphys_v1::LBPQMUMU
@ LBPQMUMU
Definition: TrigBphys_v1.h:72
xAOD::TrigBphys_v1::tau
float tau() const
accessor method: tau
Definition: TrigBphys_v1.cxx:393
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:472
xAOD::TrigBphys_v1::setLevel
void setLevel(levelType type)
set method: level type
xAOD::TrigBphys_v1::level
levelType level() const
accessor method: level Type
xAOD::TrigBphys_v1::BS2DSMUX
@ BS2DSMUX
Definition: TrigBphys_v1.h:76
xAOD::TrigBphys_v1::setLowerChainLink
void setLowerChainLink(const ElementLink< xAOD::TrigBphysContainer_v1 > &link)
set method: link to lowerChain decay particle
xAOD::TrigBphys_v1::DSTDZPI
@ DSTDZPI
Definition: TrigBphys_v1.h:67
xAOD::TrigBphys_v1::JPSIEE
@ JPSIEE
Definition: TrigBphys_v1.h:53
xAOD::TrigBphys_v1::setFitz
void setFitz(float FitZ)
set method: z position of vertex
xAOD::TrigBphys_v1::particleType
pType particleType() const
accessor method: particle Type
xAOD::TrigBphys_v1::fitx
float fitx() const
accessor method: x position of vertex
xAOD::TrigBphys_v1::setLxy
void setLxy(float v)
set method: lxy
Definition: TrigBphys_v1.cxx:405
xAOD::TrigBphys_v1::XILAMPI
@ XILAMPI
Definition: TrigBphys_v1.h:66
xAOD::TrigBphys_v1::addParticleLink
void addParticleLink(const ElementLink< xAOD::IParticleContainer > &particle)
add a track to the vector of particles
Definition: TrigBphys_v1.cxx:322
xAOD::TrigBphys_v1::UNKOWNLEVEL
@ UNKOWNLEVEL
Definition: TrigBphys_v1.h:83
xAOD::TrigBphys_v1::nParticles
size_t nParticles() const
Number of tracks used to make particle.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TrigBphys_v1::TrigBphys_v1
TrigBphys_v1()
Default constructor.
Definition: TrigBphys_v1.cxx:16
xAOD::TrigBphys_v1::mass
float mass() const
accessor method: mass
xAOD::TrigBphys_v1::BD2DMMUX
@ BD2DMMUX
Definition: TrigBphys_v1.h:74
xAOD::TrigBphys_v1::secondaryDecay
const TrigBphys_v1 * secondaryDecay() const
accessor method: secondary decay particle
xAOD::TrigBphys_v1::UNKNOWNPTYPE
@ UNKNOWNPTYPE
Definition: TrigBphys_v1.h:78
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::TrigBphysContainer_v1
DataVector< xAOD::TrigBphys_v1 > TrigBphysContainer_v1
Declare the em/tau RoI container type.
Definition: TrigBphys_v1.h:30
xAOD::TrigBphys_v1::setVecRoiIds
void setVecRoiIds(const std::vector< uint32_t > &roiIds)
Set the track particle links on the object.
xAOD::TrigBphys_v1::BKMUMU
@ BKMUMU
Definition: TrigBphys_v1.h:56
particleType
Definition: particleType.h:29
xAOD::TrigBphys_v1::setEta
void setEta(float)
Set the pseudorapidity of the object.
xAOD::TrigBphys_v1::PHIKK
@ PHIKK
Definition: TrigBphys_v1.h:49
xAOD::TrigBphys_v1::pt
float pt() const
accessor method: pt
Definition: TrigBphys_v1.cxx:362
xAOD::TrigBphys_v1::trackParticleLinks
const std::vector< ElementLink< xAOD::TrackParticleContainer > > & trackParticleLinks() const
accessor method:vector of tracks used to make particle
xAOD::TrigBphys_v1::setFitndof
void setFitndof(int FitNdof)
set method: ndof from vertex fit
xAOD::TrigBphys_v1::secondaryDecayLink
const ElementLink< TrigBphysContainer_v1 > & secondaryDecayLink() const
accessor method: secondary decay particle
xAOD::TrigBphys_v1::DZMUKX
@ DZMUKX
Definition: TrigBphys_v1.h:68
xAOD::TrigBphys_v1::tauError
float tauError() const
accessor method: tau uncertainty
Definition: TrigBphys_v1.cxx:396
xAOD::TrigBphys_v1::BCDSTMUMU
@ BCDSTMUMU
Definition: TrigBphys_v1.h:64
xAOD::TrigBphys_v1::setRoiId
void setRoiId(uint32_t id)
set method: roiId
xAOD::TrigBphys_v1::setTau
void setTau(float v)
set method: tau
Definition: TrigBphys_v1.cxx:413
xAOD::TrigBphys_v1::setFitmass
void setFitmass(float FitMass)
set method: mass from vertex fit
xAOD::TrigBphys_v1::setParticleLinks
void setParticleLinks(const std::vector< ElementLink< IParticleContainer > > &links)
Set the track particle links on the object.
xAOD::TrigBphys_v1::setSecondaryDecayLink
void setSecondaryDecayLink(const ElementLink< xAOD::TrigBphysContainer_v1 > &link)
set method: link to secondary decay particle
xAOD::TrigBphys_v1::fitmassError
float fitmassError() const
accessor method: fitmass uncertainty
Definition: TrigBphys_v1.cxx:384
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition: HLTResultReader.h:26
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::TrigBphys_v1::setFity
void setFity(float FitY)
set method: y position of vertex
xAOD::TrigBphys_v1::lxyError
float lxyError() const
accessor method: lxy uncertainty
Definition: TrigBphys_v1.cxx:390
DMTest::links
links
Definition: CLinks_v1.cxx:22
xAOD::TrigBphys_v1::operator==
bool operator==(const TrigBphys_v1 &rhs) const
Definition: TrigBphys_v1.cxx:237
xAOD::TrigBphys_v1::BMUMU
@ BMUMU
Definition: TrigBphys_v1.h:51
xAOD::TrigBphys_v1::setMass
void setMass(float)
Set the mass of the object.
xAOD::TrigBphys_v1::roiId
uint32_t roiId() const
accessor method: ID of L1 RoI
xAOD::TrigBphys_v1::LASTLEVEL
@ LASTLEVEL
Definition: TrigBphys_v1.h:87
xAOD::TrigBphys_v1::fitchi2
float fitchi2() const
accessor method: chi2 from vertex fit
xAOD::TrigBphys_v1::B2D0MUX
@ B2D0MUX
Definition: TrigBphys_v1.h:73
xAOD::TrigBphys_v1::trackParticle
const xAOD::TrackParticle * trackParticle(size_t i) const
Get the Nth track's pointer.
Definition: TrigBphys_v1.cxx:217
xAOD::TrigBphys_v1::fitmass
float fitmass() const
accessor method: mass from vertex fit
xAOD::TrigBphys_v1::fitz
float fitz() const
accessor method: z position of vertex
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
xAOD::TrigBphys_v1::setFitmassError
void setFitmassError(float v)
set method: fitmassError
Definition: TrigBphys_v1.cxx:401
xAOD::TrigBphys_v1::levelType
levelType
enum to describe the level this object is operating at
Definition: TrigBphys_v1.h:82
xAOD::TrigBphys_v1::setLxyError
void setLxyError(float v)
set method: lxyError
Definition: TrigBphys_v1.cxx:409
xAOD::TrigBphys_v1::JPSIMUMU
@ JPSIMUMU
Definition: TrigBphys_v1.h:54
xAOD::TrigBphys_v1::initialise
void initialise()
Definition: TrigBphys_v1.cxx:22
xAOD::TrigBphys_v1::addTrackParticleLink
void addTrackParticleLink(const ElementLink< xAOD::TrackParticleContainer > &track)
set method: add track to particle
Definition: TrigBphys_v1.cxx:232
xAOD::TrigBphys_v1::setTrackParticleLinks
void setTrackParticleLinks(const std::vector< ElementLink< TrackParticleContainer > > &links)
Set the track particle links on the object.
xAOD::TrigBphys_v1::EF
@ EF
Definition: TrigBphys_v1.h:85
xAOD::TrigBphys_v1::BMUMUX
@ BMUMUX
Definition: TrigBphys_v1.h:52
xAOD::TrigBphys_v1::lowerChainLink
const ElementLink< TrigBphysContainer_v1 > & lowerChainLink() const
accessor method: lowerChain decay particle
xAOD::TrigBphys_v1::L2
@ L2
Definition: TrigBphys_v1.h:84
xAOD::TrigBphys_v1::setParticleType
void setParticleType(pType type)
set method: particle type
xAOD::TrigBphys_v1::BCDSMUMU
@ BCDSMUMU
Definition: TrigBphys_v1.h:60
xAOD::TrigBphys_v1::phi
float phi() const
accessor method: phi
xAOD::TrigBphys_v1::nVecRoiIds
size_t nVecRoiIds() const
Number of tracks used to make particle.
xAOD::TrigBphys_v1::OMEGALAMK
@ OMEGALAMK
Definition: TrigBphys_v1.h:65
xAOD::TrigBphys_v1::LBLMUMU
@ LBLMUMU
Definition: TrigBphys_v1.h:59
xAOD::TrigBphys_v1::BCPIMUMU
@ BCPIMUMU
Definition: TrigBphys_v1.h:71
xAOD::TrigBphys_v1::clone
void clone(const TrigBphys_v1 &rhs)
Definition: TrigBphys_v1.cxx:54
xAOD::TrigBphys_v1::BCDPMUMU
@ BCDPMUMU
Definition: TrigBphys_v1.h:63
TrackParticle.h
python.PyAthena.v
v
Definition: PyAthena.py:154
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
xAOD::TrigBphys_v1::vecRoiIds
const std::vector< uint32_t > & vecRoiIds() const
accessor method:vector of tracks used to make particle
xAOD::TrigBphys_v1::lowerChain
const TrigBphys_v1 * lowerChain() const
accessor method: lowerChain decay particle
xAOD::TrigBphys_v1::DPKPIPI
@ DPKPIPI
Definition: TrigBphys_v1.h:70
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
xAOD::TrigBphys_v1::setTauError
void setTauError(float v)
set method: tauError
Definition: TrigBphys_v1.cxx:417
xAOD::TrigBphys_v1::particleLinks
const std::vector< ElementLink< xAOD::IParticleContainer > > & particleLinks() const
accessor method:vector of tracks used to make particle
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAOD::TrigBphys_v1::fity
float fity() const
accessor method: y position of vertex
xAOD::TrigBphys_v1::lxy
float lxy() const
accessor method: lxy
Definition: TrigBphys_v1.cxx:387
xAOD::TrigBphys_v1::eta
float eta() const
accessor method: eta
xAOD::TrigBphys_v1::DZKPI
@ DZKPI
Definition: TrigBphys_v1.h:69
xAOD::TrigBphys_v1::MULTIMU
@ MULTIMU
Definition: TrigBphys_v1.h:55
xAOD::TrigBphys_v1::LB2LCMUX
@ LB2LCMUX
Definition: TrigBphys_v1.h:77
xAOD::TrigBphys_v1::particle
const xAOD::IParticle * particle(size_t i) const
Get the Nth track's pointer.
Definition: TrigBphys_v1.cxx:307
xAOD::TrigBphys_v1::fitndof
int fitndof() const
accessor method: ndof from vertex fit
xAOD::TrigBphys_v1
Class describing a Bphysics online composite object.
Definition: TrigBphys_v1.h:44
TrackParticleContainer.h
xAOD::TrigBphys_v1::operator=
TrigBphys_v1 & operator=(const TrigBphys_v1 &rhs)=default
xAOD::TrigBphys_v1::pType
pType
enum for different particle types
Definition: TrigBphys_v1.h:48
AuxElement.h
Base class for elements of a container that can have aux data.
xAOD::TrigBphys_v1::nTrackParticles
size_t nTrackParticles() const
Number of tracks used to make particle.
xAOD::TrigBphys_v1::setFitx
void setFitx(float FitX)
set method: x position of vertex