BOSS 7.1.0
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//
24// Author : Onur Albayrak, Jake Bennett Date: 2014.12.19
25//
26
27class EvtRecDTag : virtual public ContainedObject {
28 public:
29 virtual const CLID& clID() const {return EvtRecDTag::classID();}
30 static const CLID& classID() {return CLID_EvtRecDTag;}
31
32 EvtRecDTag();
34
35 EvtRecDTag(const EvtRecDTag&);
37
38
39 //selection critera type defined with enum type
40
42 {
46 };
47
48
49 // All decay modes are defined as enum types here
51 {
56
59
62
66
78
89
93
100
118
119 kDstoKsK = 400,
127
134
138
139 kDstoPiEtaPiPiPi0 = 450, // New
142
145
148
151
157
158//************** Lambda_c Tag ****************
159
166
172
179
180 kUnknown = 10000
181
182 };
183
184
185 DecayMode decayMode() const {return m_decayMode;}
186 SelType type() const {return m_type;}
187 double beamE() const {return m_beamE;}
188 double mass() const {return m_mass;}
189 double mBC() const {return m_mBC;}
190 double deltaE() const {return m_deltaE;}
191 int charge() const {return m_charge;}
192 int charm() const {return m_charm;}
193 int numOfChildren() const{return m_numOfChildren;}
194 HepLorentzVector p4() const {return m_p4;}
195 vector< double > vKsMass() const {return m_ksmass;}
196 vector< double > vFitChi2() const {return m_vfitchi2;}
197 vector< double > vFitDecayLength() const {return m_vfitlength;}
198 vector< double > vFitDecayLengthError() const {return m_vfiterror;}
199
200
201 SmartRefVector<EvtRecTrack> tracks(){ return m_tracks;}
202 SmartRefVector<EvtRecTrack> showers(){ return m_showers;}
203 SmartRefVector<EvtRecTrack> otherTracks(){ return m_otherTracks;}
204 SmartRefVector<EvtRecTrack> otherShowers(){ return m_otherShowers;}
205 SmartRefVector<EvtRecTrack> pionId(){ return m_pionId;}
206 SmartRefVector<EvtRecTrack> kaonId(){ return m_kaonId;}
207 SmartRefVector<EvtRecTrack> protonId(){ return m_protonId;}
208
209
211 void settype(SelType type) {m_type=type;}
212 void setbeamE(double beamE) {m_beamE=beamE;}
213 void setmass(double mass) {m_mass=mass;}
214 void setmBC(double mBC) {m_mBC=mBC;}
215 void setdeltaE(double deltaE) {m_deltaE=deltaE;}
216 void setcharge(int charge) {m_charge=charge;}
217 void setcharm(int charm) {m_charm=charm;}
218 void setnumOfChildren(int numOfChildren) {m_numOfChildren=numOfChildren;}
219 void setp4(HepLorentzVector p4) {m_p4=p4;}
220
221 void addToFitInfo(double ksmass, double chi2, double length, double error) {
222 m_ksmass.push_back(ksmass);
223 m_vfitchi2.push_back(chi2);
224 m_vfitlength.push_back(length);
225 m_vfiterror.push_back(error);
226 }
227
228 void addTrack(const SmartRef<EvtRecTrack> track) {
229 m_tracks.push_back(track);}
230 void addShower(const SmartRef<EvtRecTrack> shower) {
231 m_showers.push_back(shower);}
232 void addOtherTrack(const SmartRef<EvtRecTrack> track) {
233 m_otherTracks.push_back(track);}
234 void addOtherShower(const SmartRef<EvtRecTrack> shower){
235 m_otherShowers.push_back(shower);}
236 void addPionId(const SmartRef<EvtRecTrack> pionId){
237 m_pionId.push_back(pionId);}
238 void addKaonId(const SmartRef<EvtRecTrack> kaonId){
239 m_kaonId.push_back(kaonId);}
240 void addProtonId(const SmartRef<EvtRecTrack> protonId){
241 m_protonId.push_back(protonId);}
242
243
244 void setTracks(const SmartRefVector<EvtRecTrack> tracks) {
245 m_tracks=tracks;}
246 void setShowers(const SmartRefVector<EvtRecTrack> showers) {
247 m_showers=showers;}
248 void setOtherTracks(const SmartRefVector<EvtRecTrack> tracks) {
249 m_otherTracks=tracks;}
250 void setOtherShowers(const SmartRefVector<EvtRecTrack> showers){
251 m_otherShowers=showers;}
252 void setPionId(const SmartRefVector<EvtRecTrack> pionId){
253 m_pionId=pionId;}
254 void setKaonId(const SmartRefVector<EvtRecTrack> kaonId){
255 m_kaonId=kaonId;}
256 void setProtonId(const SmartRefVector<EvtRecTrack> protonId){
257 m_protonId=protonId;}
258
259
260 private:
261 DecayMode m_decayMode;
262 SelType m_type;
263 double m_beamE;
264 double m_mass;
265 double m_mBC;
266 double m_deltaE;
267 int m_charge;
268 int m_charm;
269 unsigned int m_numOfChildren;
270 HepLorentzVector m_p4;
271 vector< double > m_ksmass;
272 vector< double > m_vfitchi2;
273 vector< double > m_vfitlength;
274 vector< double > m_vfiterror;
275 SmartRefVector<EvtRecTrack> m_tracks;
276 SmartRefVector<EvtRecTrack> m_showers;
277 SmartRefVector<EvtRecTrack> m_otherTracks;
278 SmartRefVector<EvtRecTrack> m_otherShowers;
279 SmartRefVector<EvtRecTrack> m_pionId;
280 SmartRefVector<EvtRecTrack> m_kaonId;
281 SmartRefVector<EvtRecTrack> m_protonId;
282
283};
284
285
286typedef ObjectVector<EvtRecDTag> EvtRecDTagCol;
287typedef EvtRecDTagCol::iterator EvtRecDTagIterator;
288#endif
289
const CLID & CLID_EvtRecDTag
Definition: EventModel.cxx:379
ObjectVector< EvtRecDTag > EvtRecDTagCol
Definition: EvtRecDTag.h:286
EvtRecDTagCol::iterator EvtRecDTagIterator
Definition: EvtRecDTag.h:287
@ kDstoPiPiPiPi0Pi0
Definition: EvtRecDTag.h:133
@ kDptoKsPiPi0
Definition: EvtRecDTag.h:97
@ kDstoPiPi0EPPiPiEta
Definition: EvtRecDTag.h:144
@ kLambdacPtoKPiP
Definition: EvtRecDTag.h:161
@ kD0toKsEPRhoGam
Definition: EvtRecDTag.h:91
@ kD0toKKPiPiPi0
Definition: EvtRecDTag.h:87
@ kLambdacPtoLambdaPiOmega
Definition: EvtRecDTag.h:171
@ kDstoPiEPPiPiEtaPiPiPi0
Definition: EvtRecDTag.h:146
@ kLambdacPtoKsP
Definition: EvtRecDTag.h:160
@ kDstoKsKplusPiPi
Definition: EvtRecDTag.h:124
@ kD0toPiPiPiPiPi0
Definition: EvtRecDTag.h:85
@ kD0toKsPiPiPiPi
Definition: EvtRecDTag.h:86
@ kDptoKsKminusPiPi
Definition: EvtRecDTag.h:112
@ kDstoPiEtaPiPiPi0
Definition: EvtRecDTag.h:139
@ kDstoPiPiPiEta
Definition: EvtRecDTag.h:137
@ kDptoKPiPiPi0
Definition: EvtRecDTag.h:95
@ kD0toKPiPiPi
Definition: EvtRecDTag.h:55
@ kLambdacPtoPiSIGMA0LambdaGam
Definition: EvtRecDTag.h:173
@ kLambdacPtoKPiPi0P
Definition: EvtRecDTag.h:164
@ kD0toKKPi0Pi0
Definition: EvtRecDTag.h:83
@ kLambdacPtoOmegaSIGMAPi0P
Definition: EvtRecDTag.h:177
@ kDstoPiPiPiEtaPiPiPi0
Definition: EvtRecDTag.h:141
@ kDptoKPiPiPiPi
Definition: EvtRecDTag.h:115
@ kD0toKsKsPi0
Definition: EvtRecDTag.h:73
@ kD0toKsKsPiPi
Definition: EvtRecDTag.h:84
@ kDptoKsPiPi0Pi0
Definition: EvtRecDTag.h:110
@ kDptoKsPiPiPi
Definition: EvtRecDTag.h:98
@ kLambdacPtoKsPi0P
Definition: EvtRecDTag.h:162
@ kDstoPiEPRhoGam
Definition: EvtRecDTag.h:149
@ kDstoKsKminusPiPi
Definition: EvtRecDTag.h:125
@ kD0toKsPiPiPi0
Definition: EvtRecDTag.h:64
@ kLambdacPtoLambdaPi
Definition: EvtRecDTag.h:167
@ kDptoKsKplusPiPi
Definition: EvtRecDTag.h:111
@ kLambdacPtoPi0SIGMAPi0P
Definition: EvtRecDTag.h:175
@ kLambdacPtoLambdaPiPi0
Definition: EvtRecDTag.h:168
@ kDstoPiPiPiPi0
Definition: EvtRecDTag.h:130
@ kD0toKsPi0Pi0Pi0
Definition: EvtRecDTag.h:92
@ kD0toKsPi0Pi0
Definition: EvtRecDTag.h:74
@ kLambdacPtoPiPiSIGMAPi0P
Definition: EvtRecDTag.h:176
@ kLambdacPtoLambdaPiEta
Definition: EvtRecDTag.h:169
@ kD0toPiPiPiPi
Definition: EvtRecDTag.h:80
@ kDptoPiPiPiPiPi
Definition: EvtRecDTag.h:114
@ kDstoPiPiPiPiPi
Definition: EvtRecDTag.h:131
@ kDstoPiPi0EtaPiPiPi0
Definition: EvtRecDTag.h:140
@ kD0toPiPiPi0Pi0
Definition: EvtRecDTag.h:81
@ kD0toKsEPPiPiEta
Definition: EvtRecDTag.h:90
@ kD0toKsKPiPi0
Definition: EvtRecDTag.h:61
@ kDptoPiPiPiPi0
Definition: EvtRecDTag.h:109
@ kD0toPi0Pi0Pi0
Definition: EvtRecDTag.h:77
@ kDstoPiPi0EPPiPiEtaPiPiPi0
Definition: EvtRecDTag.h:147
@ kLambdacPtoKsPiPiP
Definition: EvtRecDTag.h:163
@ kLambdacPtoPiPiP
Definition: EvtRecDTag.h:165
@ kLambdacPtoPiPiPi0SIGMAPi0P
Definition: EvtRecDTag.h:178
@ kD0toKPiPiPiPi0
Definition: EvtRecDTag.h:57
@ kD0toPiPiPi0
Definition: EvtRecDTag.h:67
@ kD0toKPiPi0Pi0
Definition: EvtRecDTag.h:54
@ kD0toKsPi0Eta
Definition: EvtRecDTag.h:88
@ kDstoPiPiPiPiPiPi0
Definition: EvtRecDTag.h:132
@ kDstoPiPi0EPRhoGam
Definition: EvtRecDTag.h:150
@ kLambdacPtoPiPi0SIGMA0LambdaGam
Definition: EvtRecDTag.h:174
@ kLambdacPtoLambdaPiPiPi
Definition: EvtRecDTag.h:170
@ kDstoPiEPPiPiEta
Definition: EvtRecDTag.h:143
SmartRefVector< EvtRecTrack > tracks()
Definition: EvtRecDTag.h:201
SmartRefVector< EvtRecTrack > showers()
Definition: EvtRecDTag.h:202
void addOtherTrack(const SmartRef< EvtRecTrack > track)
Definition: EvtRecDTag.h:232
double mass() const
Definition: EvtRecDTag.h:188
SmartRefVector< EvtRecTrack > protonId()
Definition: EvtRecDTag.h:207
SmartRefVector< EvtRecTrack > otherShowers()
Definition: EvtRecDTag.h:204
void settype(SelType type)
Definition: EvtRecDTag.h:211
void setOtherTracks(const SmartRefVector< EvtRecTrack > tracks)
Definition: EvtRecDTag.h:248
SmartRefVector< EvtRecTrack > kaonId()
Definition: EvtRecDTag.h:206
void setPionId(const SmartRefVector< EvtRecTrack > pionId)
Definition: EvtRecDTag.h:252
vector< double > vKsMass() const
Definition: EvtRecDTag.h:195
vector< double > vFitDecayLength() const
Definition: EvtRecDTag.h:197
void setdecayMode(DecayMode decayMode)
Definition: EvtRecDTag.h:210
HepLorentzVector p4() const
Definition: EvtRecDTag.h:194
void setp4(HepLorentzVector p4)
Definition: EvtRecDTag.h:219
SmartRefVector< EvtRecTrack > otherTracks()
Definition: EvtRecDTag.h:203
static const CLID & classID()
Definition: EvtRecDTag.h:30
void setShowers(const SmartRefVector< EvtRecTrack > showers)
Definition: EvtRecDTag.h:246
void setmass(double mass)
Definition: EvtRecDTag.h:213
void addToFitInfo(double ksmass, double chi2, double length, double error)
Definition: EvtRecDTag.h:221
void addOtherShower(const SmartRef< EvtRecTrack > shower)
Definition: EvtRecDTag.h:234
void addKaonId(const SmartRef< EvtRecTrack > kaonId)
Definition: EvtRecDTag.h:238
void setdeltaE(double deltaE)
Definition: EvtRecDTag.h:215
void setcharm(int charm)
Definition: EvtRecDTag.h:217
void setmBC(double mBC)
Definition: EvtRecDTag.h:214
void setProtonId(const SmartRefVector< EvtRecTrack > protonId)
Definition: EvtRecDTag.h:256
void setcharge(int charge)
Definition: EvtRecDTag.h:216
virtual const CLID & clID() const
Definition: EvtRecDTag.h:29
SmartRefVector< EvtRecTrack > pionId()
Definition: EvtRecDTag.h:205
void addPionId(const SmartRef< EvtRecTrack > pionId)
Definition: EvtRecDTag.h:236
void setbeamE(double beamE)
Definition: EvtRecDTag.h:212
int numOfChildren() const
Definition: EvtRecDTag.h:193
void addProtonId(const SmartRef< EvtRecTrack > protonId)
Definition: EvtRecDTag.h:240
double beamE() const
Definition: EvtRecDTag.h:187
SelType type() const
Definition: EvtRecDTag.h:186
vector< double > vFitChi2() const
Definition: EvtRecDTag.h:196
int charge() const
Definition: EvtRecDTag.h:191
double deltaE() const
Definition: EvtRecDTag.h:190
void setTracks(const SmartRefVector< EvtRecTrack > tracks)
Definition: EvtRecDTag.h:244
void setKaonId(const SmartRefVector< EvtRecTrack > kaonId)
Definition: EvtRecDTag.h:254
void setOtherShowers(const SmartRefVector< EvtRecTrack > showers)
Definition: EvtRecDTag.h:250
int charm() const
Definition: EvtRecDTag.h:192
DecayMode decayMode() const
Definition: EvtRecDTag.h:185
void addShower(const SmartRef< EvtRecTrack > shower)
Definition: EvtRecDTag.h:230
vector< double > vFitDecayLengthError() const
Definition: EvtRecDTag.h:198
void setnumOfChildren(int numOfChildren)
Definition: EvtRecDTag.h:218
double mBC() const
Definition: EvtRecDTag.h:189
EvtRecDTag & operator=(const EvtRecDTag &)
Definition: EvtRecDTag.cxx:56
void addTrack(const SmartRef< EvtRecTrack > track)
Definition: EvtRecDTag.h:228