ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/analysis/EvtByEvtComparison.cpp
(Generate patch)

Comparing UserCode/IPHCalignment2/analysis/EvtByEvtComparison.cpp (file contents):
Revision 1.1 by econte, Mon Nov 28 18:39:29 2011 UTC vs.
Revision 1.2 by econte, Wed Nov 30 23:39:12 2011 UTC

# Line 3 | Line 3
3   #include "TreeProducer.h"
4   #include "TwoBodyDecaySpy.h"
5  
6 + #define MU_MASS 0.105658367
7  
8 < TLorentzVector qcalc(double px, double py, double pz)
8 >
9 > void EvtComparison::Compare(TwoBodyDecaySpy* a,
10 >                            TwoBodyDecaySpy* b,
11 >                            histoEvt& histos)
12   {
13 <  double p2 = px*px+py*py+pz*pz;
14 <  double e = sqrt(p2 + 0.105658367*0.105658367);
15 <  return TLorentzVector(px,py,pz,e);
13 >  unsigned long ncounter = 0;
14 >
15 >  Long64_t jentry1=0;
16 >  Long64_t jentry2=0;
17 >
18 >  bool read_a=true;
19 >  bool read_b=true;
20 >
21 >  while(1)
22 >  {
23 >    if (read_a)
24 >    {
25 >      Long64_t ientry1 = a->LoadTree(jentry1);
26 >      if (ientry1 < 0) break;
27 >      a->GetEntry(jentry1);
28 >      jentry1++;
29 >    }
30 >
31 >    if (read_b)
32 >    {
33 >      Long64_t ientry2 = b->LoadTree(jentry2);
34 >      if (ientry2 < 0) break;
35 >      b->GetEntry(jentry2);
36 >      jentry2++;
37 >    }
38 >
39 >    if (a->RunNumber  ==b->RunNumber &&
40 >        a->EventNumber==b->EventNumber)
41 >    {
42 >      std::vector<TLorentzVector> va;
43 >      TLorentzVector qa1;
44 >      qa1.SetXYZM( a->NewTrack_px[0],
45 >                   a->NewTrack_py[0],
46 >                   a->NewTrack_pz[0],
47 >                   MU_MASS );
48 >      va.push_back(qa1);
49 >      TLorentzVector qa2;
50 >      qa2.SetXYZM( a->NewTrack_px[1],
51 >                   a->NewTrack_py[1],
52 >                   a->NewTrack_pz[1],
53 >                   MU_MASS );
54 >      va.push_back(qa2);
55 >      std::vector<TLorentzVector> vb;
56 >      TLorentzVector qb1;
57 >      qb1.SetXYZM( b->NewTrack_px[0],
58 >                   b->NewTrack_py[0],
59 >                   b->NewTrack_pz[0],
60 >                   MU_MASS );
61 >      vb.push_back(qb1);
62 >      TLorentzVector qb2;
63 >      qb2.SetXYZM( b->NewTrack_px[1],
64 >                   b->NewTrack_py[1],
65 >                   b->NewTrack_pz[1],
66 >                   MU_MASS );
67 >      vb.push_back(qb2);
68 >      ncounter++;
69 >      Compare(va,vb,histos);
70 >    }
71 >    else if (a->RunNumber!=b->RunNumber)
72 >    {
73 >      if (a->RunNumber<b->RunNumber)
74 >      {
75 >        read_a=true;
76 >        read_b=false;
77 >      }
78 >      else
79 >      {
80 >        read_a=false;
81 >        read_b=true;
82 >      }
83 >    }
84 >    else if (a->EventNumber!=b->EventNumber)
85 >    {
86 >      if (a->EventNumber<b->EventNumber)
87 >      {
88 >        read_a=true;
89 >        read_b=false;
90 >      }
91 >      else
92 >      {
93 >        read_a=false;
94 >        read_b=true;
95 >      }
96 >    }
97 >  }
98 >
99 >  std::cout << "Number of common events = " << ncounter << std::endl;
100   }
101  
102  
103 < void EvtComparison::Compare(TwoBodyDecaySpy* a,
104 <                            TwoBodyDecaySpy* b,
103 > void EvtComparison::Compare(TreeProducer* a,
104 >                            TreeProducer* b,
105                              histoEvt& histos)
106   {
107    unsigned long ncounter = 0;
# Line 29 | Line 117 | void EvtComparison::Compare(TwoBodyDecay
117      if (read_a)
118      {
119        Long64_t ientry1 = a->LoadTree(jentry1);
120 <      if (ientry1 < 0) return;
120 >      if (ientry1 < 0) break;
121        a->GetEntry(jentry1);
122        jentry1++;
123      }
# Line 37 | Line 125 | void EvtComparison::Compare(TwoBodyDecay
125      if (read_b)
126      {
127        Long64_t ientry2 = b->LoadTree(jentry2);
128 <      if (ientry2 < 0) return;
128 >      if (ientry2 < 0) break;
129        b->GetEntry(jentry2);
130        jentry2++;
131      }
# Line 46 | Line 134 | void EvtComparison::Compare(TwoBodyDecay
134          a->EventNumber==b->EventNumber)
135      {
136        std::vector<TLorentzVector> va;
137 <      TLorentzVector qa1=qcalc( a->NewTrack_px[0],
138 <                                a->NewTrack_py[0],
139 <                                a->NewTrack_pz[0] );
137 >      TLorentzVector qa1;
138 >      qa1.SetXYZM( a->Track_px[0],
139 >                   a->Track_py[0],
140 >                   a->Track_pz[0],
141 >                   MU_MASS );
142        va.push_back(qa1);
143 <      TLorentzVector qa2=qcalc( a->NewTrack_px[1],
144 <                                a->NewTrack_py[1],
145 <                                a->NewTrack_pz[1]);
143 >      TLorentzVector qa2;
144 >      qa2.SetXYZM( a->Track_px[1],
145 >                   a->Track_py[1],
146 >                   a->Track_pz[1],
147 >                   MU_MASS );
148        va.push_back(qa2);
149        std::vector<TLorentzVector> vb;
150 <      TLorentzVector qb1=qcalc( b->NewTrack_px[0],
151 <                                b->NewTrack_py[0],
152 <                                b->NewTrack_pz[0]);
150 >      TLorentzVector qb1;
151 >      qb1.SetXYZM( b->Track_px[0],
152 >                   b->Track_py[0],
153 >                   b->Track_pz[0],
154 >                   MU_MASS );
155        vb.push_back(qb1);
156 <      TLorentzVector qb2=qcalc( b->NewTrack_px[1],
157 <                                b->NewTrack_py[1],
158 <                                b->NewTrack_pz[1]);
156 >      TLorentzVector qb2;
157 >      qb2.SetXYZM( b->Track_px[1],
158 >                   b->Track_py[1],
159 >                   b->Track_pz[1],
160 >                   MU_MASS );
161        vb.push_back(qb2);
162        ncounter++;
163        Compare(va,vb,histos);
# Line 104 | Line 200 | void EvtComparison::Compare(const std::v
200                              const std::vector<TLorentzVector>& tree,
201                              histoEvt& histos)
202   {
203 <  std::cout << "common" << std::endl;
203 >  //  std::cout << "common" << std::endl;
204   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines