ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/DataFormats/src/DecayPart.cc
Revision: 1.1
Committed: Tue Jul 29 13:16:22 2008 UTC (16 years, 9 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Have our dedicated edm classes in MitEdm/DataFormats.

File Contents

# User Rev Content
1 loizides 1.1 // $Id: $
2    
3     #include "MitEdm/DataFormats/interface/BasePartAction.h"
4     #include "MitEdm/DataFormats/interface/DecayPart.h"
5    
6     using namespace std;
7     using namespace mitedm;
8    
9     DecayPart::DecayPart(int pid, double mass) :
10     BasePart (pid,mass),
11     decayType_ (Fast),
12     prob_ (0),
13     chi2_ (0),
14     ndof_ (0),
15     fittedMass_ (0),
16     fittedMassError_(0),
17     lxy_ (0),
18     lxyError_ (0),
19     lxyToPv_ (0),
20     lxyToPvError_ (0),
21     dxy_ (0),
22     dxyError_ (0),
23     dxyToPv_ (0),
24     dxyToPvError_ (0),
25     lz_ (0),
26     lzError_ (0),
27     lzToPv_ (0),
28     lzToPvError_ (0),
29     cTau_ (0),
30     cTauError_ (0),
31     pt_ (0),
32     ptError_ (0),
33     fourMomentum_ (0,0,0,0),
34     position_ (0,0,0),
35     error_ (3,0),
36     bigError_ (7,0)
37     {
38     }
39    
40     DecayPart::DecayPart(int pid, double mass, DecayType decayType) :
41     BasePart (pid,mass),
42     decayType_ (decayType),
43     prob_ (0),
44     chi2_ (0),
45     ndof_ (0),
46     fittedMass_ (0),
47     fittedMassError_(0),
48     lxy_ (0),
49     lxyError_ (0),
50     lxyToPv_ (0),
51     lxyToPvError_ (0),
52     dxy_ (0),
53     dxyError_ (0),
54     dxyToPv_ (0),
55     dxyToPvError_ (0),
56     lz_ (0),
57     lzError_ (0),
58     lzToPv_ (0),
59     lzToPvError_ (0),
60     cTau_ (0),
61     cTauError_ (0),
62     pt_ (0),
63     ptError_ (0),
64     fourMomentum_ (0,0,0,0),
65     position_ (0,0,0),
66     error_ (3,0),
67     bigError_ (7,0)
68     {
69     }
70    
71     DecayPart::DecayPart(const DecayPart &d) :
72     BasePart (d.pid(),d.mass()),
73     decayType_ (d.decayType ()),
74     prob_ (d.prob ()),
75     chi2_ (d.chi2 ()),
76     ndof_ (d.ndof ()),
77     fittedMass_ (d.fittedMass ()),
78     fittedMassError_(d.fittedMassError()),
79     lxy_ (d.lxy ()),
80     lxyError_ (d.lxyError ()),
81     lxyToPv_ (d.lxyToPv ()),
82     lxyToPvError_ (d.lxyToPvError ()),
83     dxy_ (d.dxy ()),
84     dxyError_ (d.dxyError ()),
85     dxyToPv_ (d.dxyToPv ()),
86     dxyToPvError_ (d.dxyToPvError ()),
87     lz_ (d.lz ()),
88     lzError_ (d.lzError ()),
89     lzToPv_ (d.lzToPv ()),
90     lzToPvError_ (d.lzToPvError ()),
91     cTau_ (d.cTau ()),
92     cTauError_ (d.cTauError ()),
93     pt_ (d.pt ()),
94     ptError_ (d.ptError ()),
95     fourMomentum_ (d.fourMomentum ()),
96     position_ (d.position ()),
97     error_ (d.error ()),
98     bigError_ (d.bigError ())
99     {
100     }
101    
102     void DecayPart::print(ostream &os) const
103     {
104     os << " DecayPart::print - pid: " << pid_ << " mass: " << mass_
105     << " decayType: " << decayType_ << endl
106     << " Decays to \n";
107     for (ConstIter ip=children_.begin(); ip!=children_.end(); ip++) {
108     os << " "; (*ip)->print(os);
109     }
110     os << " -- end decays to -------\n";
111     os << " Vertex fit (c2,ndof,prob): " << chi2() << ", " << ndof() << ", " << prob() << "\n\n" ;
112     }
113    
114     void DecayPart::doAction(BasePartAction *action) const
115     {
116    
117     if (action->getActionType() == BasePartAction::NonRecursive) {
118     action->doAction(this);
119     return;
120     }
121    
122     if (action->getActionType() == BasePartAction::TopDown)
123     action->doAction(this);
124    
125     for (ConstIter ip=children_.begin(); ip!=children_.end(); ip++) {
126     action->incLevel(); (*ip)->doAction(action); action->decLevel();
127     }
128    
129     if (action->getActionType() == BasePartAction::BottomUp)
130     action->doAction(this);
131    
132     return;
133     }