1 |
bendavid |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
loizides |
1.3 |
// $Id: BeamSpot.h,v 1.2 2008/12/09 17:46:59 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 |
loizides |
1.2 |
fSigmaZ(0), fBeamWidth(0), fDxDz(0), fDyDz(0),
|
23 |
|
|
fSigmaZErr(0), fBeamWidthErr(0), fDxDzErr(0), fDyDzErr(0) {}
|
24 |
bendavid |
1.1 |
BeamSpot(Double_t x, Double_t y, Double_t z) :
|
25 |
loizides |
1.2 |
BaseVertex(x,y,z), fSigmaZ(0), fBeamWidth(0), fDxDz(0), fDyDz(0),
|
26 |
|
|
fSigmaZErr(0), fBeamWidthErr(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 |
loizides |
1.2 |
BaseVertex(x,y,z,xErr,yErr,zErr), fSigmaZ(0), fBeamWidth(0), fDxDz(0), fDyDz(0),
|
29 |
|
|
fSigmaZErr(0), fBeamWidthErr(0), fDxDzErr(0), fDyDzErr(0) {}
|
30 |
bendavid |
1.1 |
BeamSpot(const ThreeVector &pos) :
|
31 |
loizides |
1.2 |
BaseVertex(pos), fSigmaZ(0), fBeamWidth(0), fDxDz(0), fDyDz(0),
|
32 |
|
|
fSigmaZErr(0), fBeamWidthErr(0), fDxDzErr(0), fDyDzErr(0) {}
|
33 |
bendavid |
1.1 |
|
34 |
loizides |
1.2 |
Double_t BeamWidth() const { return fBeamWidth; }
|
35 |
bendavid |
1.1 |
Double_t BeamWidthErr() const { return fBeamWidthErr; }
|
36 |
loizides |
1.2 |
Double_t DxDz() const { return fDxDz; }
|
37 |
|
|
Double_t DyDz() const { return fDyDz; }
|
38 |
|
|
Double_t DxDzErr() const { return fDxDzErr; }
|
39 |
|
|
Double_t DyDzErr() const { return fDyDzErr; }
|
40 |
|
|
EObjType ObjType() const { return kBeamSpot; }
|
41 |
|
|
Double_t SigmaZ() const { return fSigmaZ; }
|
42 |
|
|
Double_t SigmaZErr() const { return fSigmaZErr; }
|
43 |
|
|
void SetBeamWidth(Double_t beamWidth) { fBeamWidth = beamWidth; }
|
44 |
|
|
void SetBeamWidthErr(Double_t beamWErr) { fBeamWidthErr = beamWErr; }
|
45 |
|
|
void SetDxDz(Double_t dxDz) { fDxDz = dxDz; }
|
46 |
|
|
void SetDyDz(Double_t dyDz) { fDyDz = dyDz; }
|
47 |
|
|
void SetDxDzErr(Double_t dxDzErr) { fDxDzErr = dxDzErr; }
|
48 |
|
|
void SetDyDzErr(Double_t dyDzErr) { fDyDzErr = dyDzErr; }
|
49 |
|
|
void SetSigmaZ(Double_t sigmaZ) { fSigmaZ = sigmaZ; }
|
50 |
|
|
void SetSigmaZErr(Double_t sigmaZErr) { fSigmaZErr = sigmaZErr; }
|
51 |
bendavid |
1.1 |
|
52 |
|
|
protected:
|
53 |
loizides |
1.2 |
Double32_t fSigmaZ; //z width of beamspot
|
54 |
|
|
Double32_t fBeamWidth; //transverse width of beamspot
|
55 |
|
|
Double32_t fDxDz; //x-z slope of beamline
|
56 |
|
|
Double32_t fDyDz; //y-z slope of beamline
|
57 |
|
|
Double32_t fSigmaZErr; //error of z width
|
58 |
|
|
Double32_t fBeamWidthErr; //error of transverse width
|
59 |
|
|
Double32_t fDxDzErr; //error of x-z slope
|
60 |
|
|
Double32_t fDyDzErr; //error of y-z slope
|
61 |
bendavid |
1.1 |
|
62 |
loizides |
1.2 |
ClassDef(BeamSpot, 1) // Beam spot class
|
63 |
bendavid |
1.1 |
};
|
64 |
|
|
}
|
65 |
|
|
#endif
|