ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/src/Objects.cc
(Generate patch)

Comparing UserCode/HbbAnalysis/src/Objects.cc (file contents):
Revision 1.3 by amagnan, Fri Mar 26 15:26:10 2010 UTC vs.
Revision 1.4 by amagnan, Mon May 10 18:45:10 2010 UTC

# Line 128 | Line 128 | namespace HbbAnalysis {
128      }
129    }
130  
131 +
132 +  double EtaDetector(const BaseVars & v1){
133 +    double pDet[3];
134 +    pDet[0] = v1.pT*cos(v1.phi) + v1.vx;
135 +    pDet[1] = v1.pT*sin(v1.phi) + v1.vy;
136 +
137 +    double theta = 2*atan(exp(-v1.eta));
138 +    if (pDet[1]<0) theta = TMath::Pi()+theta;
139 +
140 +    if (tan(theta)!=0) pDet[2] = v1.pT/tan(theta) + v1.vz;
141 +    else return -10;
142 +
143 +    double pTDet = sqrt(pDet[0]*pDet[0] + pDet[1]*pDet[1]);
144 +    double pDetNorm = sqrt(pDet[0]*pDet[0] + pDet[1]*pDet[1] + pDet[2]*pDet[2]);
145 +    double thetaDet = 0;
146 +    double cosThetaDet = 0;
147 +    if (pDetNorm!=0) cosThetaDet = pDet[2]/pDetNorm;
148 +    else return -10;
149 +    if (pDet[2]!=0) thetaDet = atan(pTDet/pDet[2]);
150 +    else return -10;
151 +    if (cosThetaDet<0) thetaDet += TMath::Pi();
152 +    
153 +    return -log(tan(thetaDet/2.));
154 +  }
155 +
156 +  double EtaDetector(const GenVars & v1){
157 +    double pDet[3];
158 +    pDet[0] = v1.pT*cos(v1.phi) + v1.vx;
159 +    pDet[1] = v1.pT*sin(v1.phi) + v1.vy;
160 +
161 +    double theta = 2*atan(exp(-v1.eta));
162 +    if (pDet[1]<0) theta = TMath::Pi()+theta;
163 +
164 +    if (tan(theta)!=0) pDet[2] = v1.pT/tan(theta) + v1.vz;
165 +    else return -10;
166 +
167 +    double pTDet = sqrt(pDet[0]*pDet[0] + pDet[1]*pDet[1]);
168 +    double pDetNorm = sqrt(pDet[0]*pDet[0] + pDet[1]*pDet[1] + pDet[2]*pDet[2]);
169 +    double thetaDet = 0;
170 +    double cosThetaDet = 0;
171 +    if (pDetNorm!=0) cosThetaDet = pDet[2]/pDetNorm;
172 +    else return -10;
173 +    if (pDet[2]!=0) thetaDet = atan(pTDet/pDet[2]);
174 +    else return -10;
175 +    if (cosThetaDet<0) thetaDet += TMath::Pi();
176 +    
177 +    return -log(tan(thetaDet/2.));
178 +  }
179 +
180 +
181 +
182   }//namespace
183  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines