BOSS 7.1.2
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
47
48
49 // All decay modes are defined as enum types here
51 {
56
59
65
68
72
84
95
99
109
116
134
155
156 kDptoKpPiPi = 290,//DCS decay
161
162 kDstoKsK = 400,
170
177
181
182 kDstoPiEtaPiPiPi0 = 450, // New
185
188
191
194
200
201//************** Lambda_c Tag ****************
202
209
215
222
223 kUnknown = 10000
224
225 };
226
227
228 DecayMode decayMode() const {return m_decayMode;}
229 SelType type() const {return m_type;}
230 double beamE() const {return m_beamE;}
231 double mass() const {return m_mass;}
232 double mBC() const {return m_mBC;}
233 double deltaE() const {return m_deltaE;}
234 int charge() const {return m_charge;}
235 int charm() const {return m_charm;}
236 int numOfChildren() const{return m_numOfChildren;}
237 HepLorentzVector p4() const {return m_p4;}
238 vector< double > vKsMass() const {return m_ksmass;}
239 vector< double > vFitChi2() const {return m_vfitchi2;}
240 vector< double > vFitDecayLength() const {return m_vfitlength;}
241 vector< double > vFitDecayLengthError() const {return m_vfiterror;}
242
243
244 SmartRefVector<EvtRecTrack> tracks(){ return m_tracks;}
245 SmartRefVector<EvtRecTrack> showers(){ return m_showers;}
246 SmartRefVector<EvtRecTrack> otherTracks(){ return m_otherTracks;}
247 SmartRefVector<EvtRecTrack> otherShowers(){ return m_otherShowers;}
248 SmartRefVector<EvtRecTrack> pionId(){ return m_pionId;}
249 SmartRefVector<EvtRecTrack> kaonId(){ return m_kaonId;}
250 SmartRefVector<EvtRecTrack> protonId(){ return m_protonId;}
251
252
254 void settype(SelType type) {m_type=type;}
255 void setbeamE(double beamE) {m_beamE=beamE;}
256 void setmass(double mass) {m_mass=mass;}
257 void setmBC(double mBC) {m_mBC=mBC;}
258 void setdeltaE(double deltaE) {m_deltaE=deltaE;}
259 void setcharge(int charge) {m_charge=charge;}
260 void setcharm(int charm) {m_charm=charm;}
261 void setnumOfChildren(int numOfChildren) {m_numOfChildren=numOfChildren;}
262 void setp4(HepLorentzVector p4) {m_p4=p4;}
263
264 void addToFitInfo(double ksmass, double chi2, double length, double error) {
265 m_ksmass.push_back(ksmass);
266 m_vfitchi2.push_back(chi2);
267 m_vfitlength.push_back(length);
268 m_vfiterror.push_back(error);
269 }
270
271 void addTrack(const SmartRef<EvtRecTrack> track) {
272 m_tracks.push_back(track);}
273 void addShower(const SmartRef<EvtRecTrack> shower) {
274 m_showers.push_back(shower);}
275 void addOtherTrack(const SmartRef<EvtRecTrack> track) {
276 m_otherTracks.push_back(track);}
277 void addOtherShower(const SmartRef<EvtRecTrack> shower){
278 m_otherShowers.push_back(shower);}
279 void addPionId(const SmartRef<EvtRecTrack> pionId){
280 m_pionId.push_back(pionId);}
281 void addKaonId(const SmartRef<EvtRecTrack> kaonId){
282 m_kaonId.push_back(kaonId);}
283 void addProtonId(const SmartRef<EvtRecTrack> protonId){
284 m_protonId.push_back(protonId);}
285
286
287 void setTracks(const SmartRefVector<EvtRecTrack> tracks) {
288 m_tracks=tracks;}
289 void setShowers(const SmartRefVector<EvtRecTrack> showers) {
290 m_showers=showers;}
291 void setOtherTracks(const SmartRefVector<EvtRecTrack> tracks) {
292 m_otherTracks=tracks;}
293 void setOtherShowers(const SmartRefVector<EvtRecTrack> showers){
294 m_otherShowers=showers;}
295 void setPionId(const SmartRefVector<EvtRecTrack> pionId){
296 m_pionId=pionId;}
297 void setKaonId(const SmartRefVector<EvtRecTrack> kaonId){
298 m_kaonId=kaonId;}
299 void setProtonId(const SmartRefVector<EvtRecTrack> protonId){
300 m_protonId=protonId;}
301
302
303 private:
304 DecayMode m_decayMode;
305 SelType m_type;
306 double m_beamE;
307 double m_mass;
308 double m_mBC;
309 double m_deltaE;
310 int m_charge;
311 int m_charm;
312 unsigned int m_numOfChildren;
313 HepLorentzVector m_p4;
314 vector< double > m_ksmass;
315 vector< double > m_vfitchi2;
316 vector< double > m_vfitlength;
317 vector< double > m_vfiterror;
318 SmartRefVector<EvtRecTrack> m_tracks;
319 SmartRefVector<EvtRecTrack> m_showers;
320 SmartRefVector<EvtRecTrack> m_otherTracks;
321 SmartRefVector<EvtRecTrack> m_otherShowers;
322 SmartRefVector<EvtRecTrack> m_pionId;
323 SmartRefVector<EvtRecTrack> m_kaonId;
324 SmartRefVector<EvtRecTrack> m_protonId;
325
326};
327
328
329typedef ObjectVector<EvtRecDTag> EvtRecDTagCol;
330typedef EvtRecDTagCol::iterator EvtRecDTagIterator;
331#endif
332
const CLID & CLID_EvtRecDTag
ObjectVector< EvtRecDTag > EvtRecDTagCol
Definition EvtRecDTag.h:329
EvtRecDTagCol::iterator EvtRecDTagIterator
Definition EvtRecDTag.h:330
@ kDstoPiPiPiPi0Pi0
Definition EvtRecDTag.h:176
@ kDstoPiPi0EPPiPiEta
Definition EvtRecDTag.h:187
@ kD0toKsEPRhoGam
Definition EvtRecDTag.h:97
@ kLambdacPtoLambdaPiOmega
Definition EvtRecDTag.h:214
@ kDstoPiEPPiPiEtaPiPiPi0
Definition EvtRecDTag.h:189
@ kD0toKsPiPiPi0Pi0
Definition EvtRecDTag.h:100
@ kD0toPiPiPiPiPi0
Definition EvtRecDTag.h:91
@ kD0toKsPiPiPiPi
Definition EvtRecDTag.h:92
@ kDptoKsKminusPiPi
Definition EvtRecDTag.h:128
@ kDstoPiEtaPiPiPi0
Definition EvtRecDTag.h:182
@ kD0toKPiEPRhoGam
Definition EvtRecDTag.h:63
@ kD0toPiPiEPPiPiEta
Definition EvtRecDTag.h:106
@ kDptoKsPiEPPiPiEta
Definition EvtRecDTag.h:138
@ kD0toPiPiEPRhoGam
Definition EvtRecDTag.h:107
@ kLambdacPtoPiSIGMA0LambdaGam
Definition EvtRecDTag.h:216
@ kLambdacPtoKPiPi0P
Definition EvtRecDTag.h:207
@ kLambdacPtoOmegaSIGMAPi0P
Definition EvtRecDTag.h:220
@ kDstoPiPiPiEtaPiPiPi0
Definition EvtRecDTag.h:184
@ kD0toKsPi0EPRhoGam
Definition EvtRecDTag.h:103
@ kLambdacPtoKsPi0P
Definition EvtRecDTag.h:205
@ kD0toKPiEPPiPiEta
Definition EvtRecDTag.h:62
@ kDptoKsPiEPRhoGam
Definition EvtRecDTag.h:139
@ kDptoPiPi0EPPiPiEta
Definition EvtRecDTag.h:149
@ kDstoKsKminusPiPi
Definition EvtRecDTag.h:168
@ kLambdacPtoLambdaPi
Definition EvtRecDTag.h:210
@ kLambdacPtoPi0SIGMAPi0P
Definition EvtRecDTag.h:218
@ kLambdacPtoLambdaPiPi0
Definition EvtRecDTag.h:211
@ kD0toKsPi0Pi0Pi0
Definition EvtRecDTag.h:98
@ kLambdacPtoPiPiSIGMAPi0P
Definition EvtRecDTag.h:219
@ kLambdacPtoLambdaPiEta
Definition EvtRecDTag.h:212
@ kD0toKsPi0EPPiPiEta
Definition EvtRecDTag.h:102
@ kDstoPiPi0EtaPiPiPi0
Definition EvtRecDTag.h:183
@ kD0toPiPiPi0Pi0
Definition EvtRecDTag.h:87
@ kD0toKsEPPiPiEta
Definition EvtRecDTag.h:96
@ kDstoPiPi0EPPiPiEtaPiPiPi0
Definition EvtRecDTag.h:190
@ kLambdacPtoKsPiPiP
Definition EvtRecDTag.h:206
@ kD0toKPiPi0Pi0Pi0
Definition EvtRecDTag.h:60
@ kDptoPiPi0EPRhoGam
Definition EvtRecDTag.h:150
@ kLambdacPtoPiPiPi0SIGMAPi0P
Definition EvtRecDTag.h:221
@ kD0toKPiPiPiPi0
Definition EvtRecDTag.h:57
@ kDptoKsPiPi0Pi0Pi0
Definition EvtRecDTag.h:137
@ kDptoPiPiPiPi0Pi0
Definition EvtRecDTag.h:143
@ kDstoPiPiPiPiPiPi0
Definition EvtRecDTag.h:175
@ kDstoPiPi0EPRhoGam
Definition EvtRecDTag.h:193
@ kLambdacPtoPiPi0SIGMA0LambdaGam
Definition EvtRecDTag.h:217
@ kLambdacPtoLambdaPiPiPi
Definition EvtRecDTag.h:213
SmartRefVector< EvtRecTrack > tracks()
Definition EvtRecDTag.h:244
SmartRefVector< EvtRecTrack > showers()
Definition EvtRecDTag.h:245
void addOtherTrack(const SmartRef< EvtRecTrack > track)
Definition EvtRecDTag.h:275
double mass() const
Definition EvtRecDTag.h:231
SmartRefVector< EvtRecTrack > protonId()
Definition EvtRecDTag.h:250
SmartRefVector< EvtRecTrack > otherShowers()
Definition EvtRecDTag.h:247
void settype(SelType type)
Definition EvtRecDTag.h:254
void setOtherTracks(const SmartRefVector< EvtRecTrack > tracks)
Definition EvtRecDTag.h:291
SmartRefVector< EvtRecTrack > kaonId()
Definition EvtRecDTag.h:249
void setPionId(const SmartRefVector< EvtRecTrack > pionId)
Definition EvtRecDTag.h:295
vector< double > vKsMass() const
Definition EvtRecDTag.h:238
vector< double > vFitDecayLength() const
Definition EvtRecDTag.h:240
void setdecayMode(DecayMode decayMode)
Definition EvtRecDTag.h:253
HepLorentzVector p4() const
Definition EvtRecDTag.h:237
void setp4(HepLorentzVector p4)
Definition EvtRecDTag.h:262
SmartRefVector< EvtRecTrack > otherTracks()
Definition EvtRecDTag.h:246
static const CLID & classID()
Definition EvtRecDTag.h:30
void setShowers(const SmartRefVector< EvtRecTrack > showers)
Definition EvtRecDTag.h:289
void setmass(double mass)
Definition EvtRecDTag.h:256
void addToFitInfo(double ksmass, double chi2, double length, double error)
Definition EvtRecDTag.h:264
void addOtherShower(const SmartRef< EvtRecTrack > shower)
Definition EvtRecDTag.h:277
void addKaonId(const SmartRef< EvtRecTrack > kaonId)
Definition EvtRecDTag.h:281
void setdeltaE(double deltaE)
Definition EvtRecDTag.h:258
void setcharm(int charm)
Definition EvtRecDTag.h:260
void setmBC(double mBC)
Definition EvtRecDTag.h:257
void setProtonId(const SmartRefVector< EvtRecTrack > protonId)
Definition EvtRecDTag.h:299
void setcharge(int charge)
Definition EvtRecDTag.h:259
virtual const CLID & clID() const
Definition EvtRecDTag.h:29
SmartRefVector< EvtRecTrack > pionId()
Definition EvtRecDTag.h:248
void addPionId(const SmartRef< EvtRecTrack > pionId)
Definition EvtRecDTag.h:279
void setbeamE(double beamE)
Definition EvtRecDTag.h:255
int numOfChildren() const
Definition EvtRecDTag.h:236
void addProtonId(const SmartRef< EvtRecTrack > protonId)
Definition EvtRecDTag.h:283
double beamE() const
Definition EvtRecDTag.h:230
SelType type() const
Definition EvtRecDTag.h:229
vector< double > vFitChi2() const
Definition EvtRecDTag.h:239
int charge() const
Definition EvtRecDTag.h:234
double deltaE() const
Definition EvtRecDTag.h:233
void setTracks(const SmartRefVector< EvtRecTrack > tracks)
Definition EvtRecDTag.h:287
void setKaonId(const SmartRefVector< EvtRecTrack > kaonId)
Definition EvtRecDTag.h:297
void setOtherShowers(const SmartRefVector< EvtRecTrack > showers)
Definition EvtRecDTag.h:293
int charm() const
Definition EvtRecDTag.h:235
DecayMode decayMode() const
Definition EvtRecDTag.h:228
void addShower(const SmartRef< EvtRecTrack > shower)
Definition EvtRecDTag.h:273
vector< double > vFitDecayLengthError() const
Definition EvtRecDTag.h:241
void setnumOfChildren(int numOfChildren)
Definition EvtRecDTag.h:261
double mBC() const
Definition EvtRecDTag.h:232
EvtRecDTag & operator=(const EvtRecDTag &)
void addTrack(const SmartRef< EvtRecTrack > track)
Definition EvtRecDTag.h:271