ATLAS Offline Software
Loading...
Searching...
No Matches
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):
12extern "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
27namespace xAOD {
28
29 // forward declarations, so that we can use TrigBphysContainer_v1 in TrigBphys_v1
30 class TrigBphys_v1;
32
45
46 public:
48 enum pType {
49 PHIKK = 0,
51 BMUMU = 2,
52 BMUMUX = 3,
53 JPSIEE = 4,
56 BKMUMU = 7,
59 LBLMUMU = 10,
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-)
79 };
80
84 L2 = 2,
85 EF = 3,
86 HLT = 4,
88 };
89
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,
111 void initialise(uint32_t roi, float eta, float phi, pType particleType,
114
115 bool operator==(const TrigBphys_v1& rhs) const;
116 bool operator!=(const TrigBphys_v1& rhs) const {return !((*this)==rhs);}
117
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
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
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;
225
226
227
229 const TrigBphys_v1* lowerChain() const;
234
236 const std::vector< ElementLink< xAOD::IParticleContainer > >&
239 void setParticleLinks(const std::vector< ElementLink< IParticleContainer > >& links );
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
Scalar eta() const
pseudorapidity method
Base class for elements of a container that can have aux data.
An STL vector of pointers that by default owns its pointed-to elements.
Base class for elements of a container that can have aux data.
Definition AuxElement.h:483
Class providing the definition of the 4-vector interface.
Class describing a Bphysics online composite object.
int fitndof() const
accessor method: ndof from vertex fit
void setPhi(float)
Set the azimuth angle of the object.
float tau() const
accessor method: tau
void setFitchi2(float FitChi2)
set method: chi2 from vertex fit
size_t nTrackParticles() const
Number of tracks used to make particle.
void setTau(float v)
set method: tau
void setParticleType(pType type)
set method: particle type
void addParticleLink(const ElementLink< xAOD::IParticleContainer > &particle)
add a track to the vector of particles
void addTrackParticleLink(const ElementLink< xAOD::TrackParticleContainer > &track)
set method: add track to particle
float pt() const
accessor method: pt
void setFitx(float FitX)
set method: x position of vertex
uint32_t roiId() const
accessor method: ID of L1 RoI
void setFity(float FitY)
set method: y position of vertex
uint32_t vecRoiId(size_t i) const
Get the Nth roiId.
void setRoiId(uint32_t id)
set method: roiId
float eta() const
accessor method: eta
pType particleType() const
accessor method: particle Type
float tauError() const
accessor method: tau uncertainty
const ElementLink< TrigBphysContainer_v1 > & lowerChainLink() const
accessor method: lowerChain decay particle
size_t nParticles() const
Number of tracks used to make particle.
void setSecondaryDecayLink(const ElementLink< xAOD::TrigBphysContainer_v1 > &link)
set method: link to secondary decay particle
const TrigBphys_v1 * secondaryDecay() const
accessor method: secondary decay particle
const xAOD::TrackParticle * trackParticle(size_t i) const
Get the Nth track's pointer.
void addVecRoiId(uint32_t roiId)
add a roiId to the vector
void setParticleLinks(const std::vector< ElementLink< IParticleContainer > > &links)
Set the track particle links on the object.
float phi() const
accessor method: phi
const std::vector< ElementLink< xAOD::IParticleContainer > > & particleLinks() const
accessor method:vector of tracks used to make particle
levelType
enum to describe the level this object is operating at
float fitchi2() const
accessor method: chi2 from vertex fit
void setFitndof(int FitNdof)
set method: ndof from vertex fit
void setVecRoiIds(const std::vector< uint32_t > &roiIds)
Set the track particle links on the object.
void setFitz(float FitZ)
set method: z position of vertex
bool operator!=(const TrigBphys_v1 &rhs) const
const TrigBphys_v1 * lowerChain() const
accessor method: lowerChain decay particle
float lxy() const
accessor method: lxy
void clone(const TrigBphys_v1 &rhs)
const ElementLink< TrigBphysContainer_v1 > & secondaryDecayLink() const
accessor method: secondary decay particle
void setTauError(float v)
set method: tauError
float fitx() const
accessor method: x position of vertex
void setPt(float)
Set the pT of the object.
void setLxy(float v)
set method: lxy
void setFitmass(float FitMass)
set method: mass from vertex fit
size_t nVecRoiIds() const
Number of tracks used to make particle.
void setFitmassError(float v)
set method: fitmassError
float fitz() const
accessor method: z position of vertex
float fitmass() const
accessor method: mass from vertex fit
void setLevel(levelType type)
set method: level type
const std::vector< ElementLink< xAOD::TrackParticleContainer > > & trackParticleLinks() const
accessor method:vector of tracks used to make particle
float lxyError() const
accessor method: lxy uncertainty
const std::vector< uint32_t > & vecRoiIds() const
accessor method:vector of tracks used to make particle
float mass() const
accessor method: mass
float fitmassError() const
accessor method: fitmass uncertainty
void setEta(float)
Set the pseudorapidity of the object.
const xAOD::IParticle * particle(size_t i) const
Get the Nth track's pointer.
void setMass(float)
Set the mass of the object.
TrigBphys_v1(const TrigBphys_v1 &rhs)=delete
pType
enum for different particle types
TrigBphys_v1()
Default constructor.
float fity() const
accessor method: y position of vertex
TrigBphys_v1 & operator=(const TrigBphys_v1 &rhs)=default
levelType level() const
accessor method: level Type
void setTrackParticleLinks(const std::vector< ElementLink< TrackParticleContainer > > &links)
Set the track particle links on the object.
void setLowerChainLink(const ElementLink< xAOD::TrigBphysContainer_v1 > &link)
set method: link to lowerChain decay particle
void setLxyError(float v)
set method: lxyError
bool operator==(const TrigBphys_v1 &rhs) const
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setStrategy setMatchFlag ElementLink< TrackParticleContainer >
setRcore setEtHad setFside pt
TrackParticle_v1 TrackParticle
Reference the current persistent version:
DataVector< xAOD::TrigBphys_v1 > TrigBphysContainer_v1
Declare the em/tau RoI container type.
setEventNumber uint32_t