BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtRecDTag.h
Go to the documentation of this file.
1#ifndef Event_EvtRecDTag_H
2#define Event_EvtRecDTag_H
3
4#include "GaudiKernel/ObjectVector.h"
5#include "GaudiKernel/ContainedObject.h"
6#include "GaudiKernel/SmartRef.h"
7#include "GaudiKernel/SmartRefVector.h"
9#include "CLHEP/Matrix/Vector.h"
10#include "CLHEP/Matrix/SymMatrix.h"
12#include <utility>
13#include <vector>
14
15using CLHEP::HepVector;
16using CLHEP::HepSymMatrix;
17using namespace EventModel;
18extern const CLID & CLID_EvtRecDTag;
19
20//
21// To store D Tagged events.
22// Author : Chunlei Liu Date: 2009.1.26
23//
24class EvtRecDTag : virtual public ContainedObject {
25 public:
26 virtual const CLID& clID() const {return EvtRecDTag::classID();}
27 static const CLID& classID() {return CLID_EvtRecDTag;}
28
29 EvtRecDTag();
31
32 EvtRecDTag(const EvtRecDTag&);
34
35
36 //selection critera type defined with enum type
37
39 {
43 };
44
45
46 // All decay modes are defined as enum types here
48 {
53
56
59
63
75
86
89
96
114
115 kDstoKsK = 400,
123
129
133
136
139
145
146 kUnknown = 10000
147
148 };
149
150
151 DecayMode decayMode() const {return m_decayMode;}
152 SelType type() const {return m_type;}
153 double beamE() const {return m_beamE;}
154 double mass() const {return m_mass;}
155 double mBC() const {return m_mBC;}
156 double deltaE() const {return m_deltaE;}
157 int charge() const {return m_charge;}
158 int charm() const {return m_charm;}
159 int numOfChildren() const{return m_numOfChildren;}
160 HepLorentzVector p4() const {return m_p4;}
161
162
163 SmartRefVector<EvtRecTrack> tracks(){ return m_tracks;}
164 SmartRefVector<EvtRecTrack> showers(){ return m_showers;}
165 SmartRefVector<EvtRecTrack> otherTracks(){ return m_otherTracks;}
166 SmartRefVector<EvtRecTrack> otherShowers(){ return m_otherShowers;}
167 SmartRefVector<EvtRecTrack> pionId(){ return m_pionId;}
168 SmartRefVector<EvtRecTrack> kaonId(){ return m_kaonId;}
169
170
172 void settype(SelType type) {m_type=type;}
173 void setbeamE(double beamE) {m_beamE=beamE;}
174 void setmass(double mass) {m_mass=mass;}
175 void setmBC(double mBC) {m_mBC=mBC;}
176 void setdeltaE(double deltaE) {m_deltaE=deltaE;}
177 void setcharge(int charge) {m_charge=charge;}
178 void setcharm(int charm) {m_charm=charm;}
179 void setnumOfChildren(int numOfChildren) {m_numOfChildren=numOfChildren;}
180 void setp4(HepLorentzVector p4) {m_p4=p4;}
181
182 void addTrack(const SmartRef<EvtRecTrack> track) {
183 m_tracks.push_back(track);}
184 void addShower(const SmartRef<EvtRecTrack> shower) {
185 m_showers.push_back(shower);}
186 void addOtherTrack(const SmartRef<EvtRecTrack> track) {
187 m_otherTracks.push_back(track);}
188 void addOtherShower(const SmartRef<EvtRecTrack> shower){
189 m_otherShowers.push_back(shower);}
190 void addPionId(const SmartRef<EvtRecTrack> pionId){
191 m_pionId.push_back(pionId);}
192 void addKaonId(const SmartRef<EvtRecTrack> kaonId){
193 m_kaonId.push_back(kaonId);}
194
195
196 void setTracks(const SmartRefVector<EvtRecTrack> tracks) {
197 m_tracks=tracks;}
198 void setShowers(const SmartRefVector<EvtRecTrack> showers) {
199 m_showers=showers;}
200 void setOtherTracks(const SmartRefVector<EvtRecTrack> tracks) {
201 m_otherTracks=tracks;}
202 void setOtherShowers(const SmartRefVector<EvtRecTrack> showers){
203 m_otherShowers=showers;}
204 void setPionId(const SmartRefVector<EvtRecTrack> pionId){
205 m_pionId=pionId;}
206 void setKaonId(const SmartRefVector<EvtRecTrack> kaonId){
207 m_kaonId=kaonId;}
208
209
210 private:
211 DecayMode m_decayMode;
212 SelType m_type;
213 double m_beamE;
214 double m_mass;
215 double m_mBC;
216 double m_deltaE;
217 int m_charge;
218 int m_charm;
219 unsigned int m_numOfChildren;
220 HepLorentzVector m_p4;
221 SmartRefVector<EvtRecTrack> m_tracks;
222 SmartRefVector<EvtRecTrack> m_showers;
223 SmartRefVector<EvtRecTrack> m_otherTracks;
224 SmartRefVector<EvtRecTrack> m_otherShowers;
225 SmartRefVector<EvtRecTrack> m_pionId;
226 SmartRefVector<EvtRecTrack> m_kaonId;
227
228};
229
230
231
232
233typedef ObjectVector<EvtRecDTag> EvtRecDTagCol;
234typedef EvtRecDTagCol::iterator EvtRecDTagIterator;
235#endif
236
const CLID & CLID_EvtRecDTag
Definition: EventModel.cxx:369
ObjectVector< EvtRecDTag > EvtRecDTagCol
Definition: EvtRecDTag.h:233
EvtRecDTagCol::iterator EvtRecDTagIterator
Definition: EvtRecDTag.h:234
@ kDptoKsPiPi0
Definition: EvtRecDTag.h:93
@ kDstoPiPi0EPPiPiEta
Definition: EvtRecDTag.h:135
@ kD0toKsEPRhoGam
Definition: EvtRecDTag.h:88
@ kD0toKKPiPiPi0
Definition: EvtRecDTag.h:84
@ kDstoKsKplusPiPi
Definition: EvtRecDTag.h:120
@ kD0toPiPiPiPiPi0
Definition: EvtRecDTag.h:82
@ kD0toKsPiPiPiPi
Definition: EvtRecDTag.h:83
@ kDptoKsKminusPiPi
Definition: EvtRecDTag.h:108
@ kDstoPiPiPiEta
Definition: EvtRecDTag.h:132
@ kDptoKPiPiPi0
Definition: EvtRecDTag.h:91
@ kD0toKPiPiPi
Definition: EvtRecDTag.h:52
@ kD0toKKPi0Pi0
Definition: EvtRecDTag.h:80
@ kDptoKPiPiPiPi
Definition: EvtRecDTag.h:111
@ kD0toKsKsPi0
Definition: EvtRecDTag.h:70
@ kD0toKsKsPiPi
Definition: EvtRecDTag.h:81
@ kDptoKsPiPi0Pi0
Definition: EvtRecDTag.h:106
@ kDptoKsPiPiPi
Definition: EvtRecDTag.h:94
@ kDstoPiEPRhoGam
Definition: EvtRecDTag.h:137
@ kDstoKsKminusPiPi
Definition: EvtRecDTag.h:121
@ kD0toKsPiPiPi0
Definition: EvtRecDTag.h:61
@ kDptoKsKplusPiPi
Definition: EvtRecDTag.h:107
@ kDstoPiPiPiPi0
Definition: EvtRecDTag.h:126
@ kD0toKsPi0Pi0
Definition: EvtRecDTag.h:71
@ kD0toPiPiPiPi
Definition: EvtRecDTag.h:77
@ kDptoPiPiPiPiPi
Definition: EvtRecDTag.h:110
@ kDstoPiPiPiPiPi
Definition: EvtRecDTag.h:127
@ kD0toPiPiPi0Pi0
Definition: EvtRecDTag.h:78
@ kD0toKsEPPiPiEta
Definition: EvtRecDTag.h:87
@ kD0toKsKPiPi0
Definition: EvtRecDTag.h:58
@ kDptoPiPiPiPi0
Definition: EvtRecDTag.h:105
@ kD0toPi0Pi0Pi0
Definition: EvtRecDTag.h:74
@ kD0toKPiPiPiPi0
Definition: EvtRecDTag.h:54
@ kD0toPiPiPi0
Definition: EvtRecDTag.h:64
@ kD0toKPiPi0Pi0
Definition: EvtRecDTag.h:51
@ kD0toKsPi0Eta
Definition: EvtRecDTag.h:85
@ kDstoPiPiPiPiPiPi0
Definition: EvtRecDTag.h:128
@ kDstoPiPi0EPRhoGam
Definition: EvtRecDTag.h:138
@ kDstoPiEPPiPiEta
Definition: EvtRecDTag.h:134
SmartRefVector< EvtRecTrack > tracks()
Definition: EvtRecDTag.h:163
SmartRefVector< EvtRecTrack > showers()
Definition: EvtRecDTag.h:164
void addOtherTrack(const SmartRef< EvtRecTrack > track)
Definition: EvtRecDTag.h:186
double mass() const
Definition: EvtRecDTag.h:154
SmartRefVector< EvtRecTrack > otherShowers()
Definition: EvtRecDTag.h:166
void settype(SelType type)
Definition: EvtRecDTag.h:172
void setOtherTracks(const SmartRefVector< EvtRecTrack > tracks)
Definition: EvtRecDTag.h:200
SmartRefVector< EvtRecTrack > kaonId()
Definition: EvtRecDTag.h:168
void setPionId(const SmartRefVector< EvtRecTrack > pionId)
Definition: EvtRecDTag.h:204
void setdecayMode(DecayMode decayMode)
Definition: EvtRecDTag.h:171
HepLorentzVector p4() const
Definition: EvtRecDTag.h:160
void setp4(HepLorentzVector p4)
Definition: EvtRecDTag.h:180
SmartRefVector< EvtRecTrack > otherTracks()
Definition: EvtRecDTag.h:165
static const CLID & classID()
Definition: EvtRecDTag.h:27
void setShowers(const SmartRefVector< EvtRecTrack > showers)
Definition: EvtRecDTag.h:198
void setmass(double mass)
Definition: EvtRecDTag.h:174
void addOtherShower(const SmartRef< EvtRecTrack > shower)
Definition: EvtRecDTag.h:188
void addKaonId(const SmartRef< EvtRecTrack > kaonId)
Definition: EvtRecDTag.h:192
void setdeltaE(double deltaE)
Definition: EvtRecDTag.h:176
void setcharm(int charm)
Definition: EvtRecDTag.h:178
void setmBC(double mBC)
Definition: EvtRecDTag.h:175
void setcharge(int charge)
Definition: EvtRecDTag.h:177
virtual const CLID & clID() const
Definition: EvtRecDTag.h:26
SmartRefVector< EvtRecTrack > pionId()
Definition: EvtRecDTag.h:167
void addPionId(const SmartRef< EvtRecTrack > pionId)
Definition: EvtRecDTag.h:190
void setbeamE(double beamE)
Definition: EvtRecDTag.h:173
int numOfChildren() const
Definition: EvtRecDTag.h:159
double beamE() const
Definition: EvtRecDTag.h:153
SelType type() const
Definition: EvtRecDTag.h:152
int charge() const
Definition: EvtRecDTag.h:157
double deltaE() const
Definition: EvtRecDTag.h:156
void setTracks(const SmartRefVector< EvtRecTrack > tracks)
Definition: EvtRecDTag.h:196
void setKaonId(const SmartRefVector< EvtRecTrack > kaonId)
Definition: EvtRecDTag.h:206
void setOtherShowers(const SmartRefVector< EvtRecTrack > showers)
Definition: EvtRecDTag.h:202
int charm() const
Definition: EvtRecDTag.h:158
DecayMode decayMode() const
Definition: EvtRecDTag.h:151
void addShower(const SmartRef< EvtRecTrack > shower)
Definition: EvtRecDTag.h:184
void setnumOfChildren(int numOfChildren)
Definition: EvtRecDTag.h:179
double mBC() const
Definition: EvtRecDTag.h:155
EvtRecDTag & operator=(const EvtRecDTag &)
Definition: EvtRecDTag.cxx:46
void addTrack(const SmartRef< EvtRecTrack > track)
Definition: EvtRecDTag.h:182