EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SmearSTAR_0_0.cxx
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file SmearSTAR_0_0.cxx
1 
17 #include "eicsmear/smear/Device.h"
19 #include "eicsmear/smear/Smearer.h"
22 #include <eicsmear/smear/Smear.h>
24 
25 static double etaToTheta(const double eta) {
26  TLorentzVector v;
27  v.SetPtEtaPhiM(1., eta, 0., 0.);
28  return v.Theta();
29 }
30 
34 static Smear::Acceptance::Zone makeZone(double etaMin, double etaMax) {
35  // Note that we need to flip the order of arguments because the numerically
36  // larger eta corresponds to the minimum angle and the smaller eta to the
37  // maximum angle.
38  // e.g. for eta -1 to 1, -1 --> theta=2.4 and 1 --> theta=0.7
39  return Smear::Acceptance::Zone(etaToTheta(etaMax), etaToTheta(etaMin));
40 }
41 
53  // Electromagnetic calorimeter.
54  // Acceptance is valid for the BEMC (-1 < eta < 1) and EEMC (1 < eta < 2)
55  // so define a single acceptance zone -1 < eta < 2.
56  // Acceptance is defined in terms of angle (theta) not pseudorapidity (eta)
57  // so we need to convert eta -> theta.
59  "0.015*E+0.14*sqrt(E)",
61  emCal.Accept.AddZone(makeZone(-1., 2.));
62  // Tracking, comprising momentum and theta.
63  // These just span the TPC, -1 < eta < 1.
64  Smear::Device momentum(Smear::kP, "0.005*P+0.004*P*P");
66  momentum.Accept.AddZone(makeZone(-1., 1.));
67  // See comments at the end of the file for Zhangbu's email about
68  // theta resolution.
70  "sqrt(pow(3e-4, 2) + pow(9e-4 / P, 2) / sin(theta))");
72  theta.Accept.AddZone(makeZone(-1., 1.));
73  // We don't have a parameterisation for phi, so just use a
74  // device that gives perfect resolution.
77  // Combine the devices into a detector.
79  star.AddDevice(emCal);
80  star.AddDevice(momentum);
81  star.AddDevice(theta);
82  star.AddDevice(phi);
83  star.SetEventKinematicsCalculator("NM JB DA");
84  return star;
85 }
86 
87 /*
88  Here is the email from Zhangbu giving the parameterisations
89  used in the above.
90 
91 
92  Date: Thu, 2 Jun 2011 17:35:45 -0400
93  From: "Xu, Zhangbu" <xzb@bnl.gov>
94  To: "Aschenauer, Elke" <elke@bnl.gov>
95  Subject: theta angular resolution
96 
97  Hi, Elke:
98 
99  Talk to a couple of people doing the TPC calibration,
100  from drift velocity and TPC cluster uncertainties, the
101  d (theta) ~=3xe-4
102 
103  I am working on the MC simulation to get the resolution
104  due to multiple scattering, this will be momentum dependent.
105  A hand calculation of the theta angular spread due to multiple
106  scattering for STAR TPC material (mainly beam pipe and inner field
107  cage ~=0.5%X0) is
108  theta0 = 13.6MeV/beta/p*sqrt(x/X0)~=0.9MeV/p,
109  So for a 2GeV/c electron, the theta angular resolution will be
110  5e-4, close to the detector resolution.
111 
112  So it is probably reasonable to assume the theta angular resolution
113  to be: d(theta) = sqrt((3xe-4)**2+(0.9MeV/p)**2/sin(theta))
114 
115 
116  Thanks!
117 
118  Zhangbu
119 */