ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/BeamSpot.h
Revision: 1.5
Committed: Mon Nov 30 13:42:40 2009 UTC (15 years, 5 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_032, Mit_031, Mit_025c_branch2, Mit_025c_branch1, Mit_030, Mit_029c, Mit_029b, Mit_030_pre1, Mit_029a, Mit_029, Mit_029_pre1, Mit_028a, Mit_025c_branch0, Mit_028, Mit_027a, Mit_027, Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, Mit_014, Mit_014pre3, Mit_014pre2, Mit_014pre1, Mit_013d, Mit_013c, Mit_013b, Mit_013a, Mit_013, Mit_013pre1, Mit_012i, Mit_012h, Mit_012g, Mit_012f, Mit_012e, Mit_012d, Mit_012c, HEAD
Branch point for: Mit_025c_branch
Changes since 1.4: +35 -29 lines
Log Message:
BeamWidth now stored seperately for x and y axes

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.5 // $Id: BeamSpot.h,v 1.4 2009/03/18 15:44:31 loizides Exp $
3 bendavid 1.1 //
4     // BeamSpot
5     //
6     // BeamSpot class implemented as holding a 3d vector as a point in space with fit information.
7     //
8     // Authors: J.Bendavid
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITANA_DATATREE_BEAMSPOT_H
12     #define MITANA_DATATREE_BEAMSPOT_H
13    
14     #include "MitAna/DataTree/interface/BaseVertex.h"
15    
16     namespace mithep
17     {
18     class BeamSpot : public BaseVertex
19     {
20     public:
21     BeamSpot() :
22 bendavid 1.5 fSigmaZ(0), fBeamWidthX(0), fBeamWidthY(0), fDxDz(0), fDyDz(0),
23     fSigmaZErr(0), fBeamWidthXErr(0), fBeamWidthYErr(0), fDxDzErr(0), fDyDzErr(0) {}
24 bendavid 1.1 BeamSpot(Double_t x, Double_t y, Double_t z) :
25 bendavid 1.5 BaseVertex(x,y,z), fSigmaZ(0), fBeamWidthX(0), fBeamWidthY(0), fDxDz(0), fDyDz(0),
26     fSigmaZErr(0), fBeamWidthXErr(0), fBeamWidthYErr(0), fDxDzErr(0), fDyDzErr(0) {}
27 bendavid 1.1 BeamSpot(Double_t x, Double_t y, Double_t z, Double_t xErr, Double_t yErr, Double_t zErr) :
28 bendavid 1.5 BaseVertex(x,y,z,xErr,yErr,zErr), fSigmaZ(0), fBeamWidthX(0), fBeamWidthY(0), fDxDz(0), fDyDz(0),
29     fSigmaZErr(0), fBeamWidthXErr(0), fBeamWidthYErr(0), fDxDzErr(0), fDyDzErr(0) {}
30 bendavid 1.1 BeamSpot(const ThreeVector &pos) :
31 bendavid 1.5 BaseVertex(pos), fSigmaZ(0), fBeamWidthX(0), fBeamWidthY(0), fDxDz(0), fDyDz(0),
32     fSigmaZErr(0), fBeamWidthXErr(0), fBeamWidthYErr(0), fDxDzErr(0), fDyDzErr(0) {}
33 bendavid 1.1
34 bendavid 1.5 Double_t BeamWidthX() const { return fBeamWidthX; }
35     Double_t BeamWidthY() const { return fBeamWidthY; }
36     Double_t BeamWidthXErr() const { return fBeamWidthXErr; }
37     Double_t BeamWidthYErr() const { return fBeamWidthYErr; }
38     Double_t DxDz() const { return fDxDz; }
39     Double_t DyDz() const { return fDyDz; }
40     Double_t DxDzErr() const { return fDxDzErr; }
41     Double_t DyDzErr() const { return fDyDzErr; }
42     EObjType ObjType() const { return kBeamSpot; }
43     Double_t SigmaZ() const { return fSigmaZ; }
44     Double_t SigmaZErr() const { return fSigmaZErr; }
45     void SetBeamWidthX(Double_t beamWidth) { fBeamWidthX = beamWidth; }
46     void SetBeamWidthY(Double_t beamWidth) { fBeamWidthY = beamWidth; }
47     void SetBeamWidthXErr(Double_t beamWErr) { fBeamWidthXErr = beamWErr; }
48     void SetBeamWidthYErr(Double_t beamWErr) { fBeamWidthYErr = beamWErr; }
49     void SetDxDz(Double_t dxDz) { fDxDz = dxDz; }
50     void SetDyDz(Double_t dyDz) { fDyDz = dyDz; }
51     void SetDxDzErr(Double_t dxDzErr) { fDxDzErr = dxDzErr; }
52     void SetDyDzErr(Double_t dyDzErr) { fDyDzErr = dyDzErr; }
53     void SetSigmaZ(Double_t sigmaZ) { fSigmaZ = sigmaZ; }
54     void SetSigmaZErr(Double_t sigmaZErr) { fSigmaZErr = sigmaZErr; }
55 bendavid 1.1
56     protected:
57 loizides 1.4 Double32_t fSigmaZ; //[0,0,14]z width of beamspot
58 bendavid 1.5 Double32_t fBeamWidthX; //[0,0,14]transverse width of beamspot (x-axis)
59     Double32_t fBeamWidthY; //[0,0,14]transverse width of beamspot (y-axis)
60 loizides 1.4 Double32_t fDxDz; //[0,0,14]x-z slope of beamline
61     Double32_t fDyDz; //[0,0,14]y-z slope of beamline
62     Double32_t fSigmaZErr; //[0,0,14]error of z width
63 bendavid 1.5 Double32_t fBeamWidthXErr; //[0,0,14]error of transverse width (x-axis)
64     Double32_t fBeamWidthYErr; //[0,0,14]error of transverse width (y-axis)
65 loizides 1.4 Double32_t fDxDzErr; //[0,0,14]error of x-z slope
66     Double32_t fDyDzErr; //[0,0,14]error of y-z slope
67 bendavid 1.1
68 bendavid 1.5 ClassDef(BeamSpot, 2) // Beam spot class
69 bendavid 1.1 };
70     }
71     #endif