PandaRoot
PndEventInfo.h
Go to the documentation of this file.
1 #ifndef PNDEVENTINFO_H
2 #define PNDEVENTINFO_H
3 // //
5 // PndEventInfo //
6 // //
7 // Contains and provides access to summary information in the event //
8 // useful for analysis //
9 // //
11 
12 //----------------------
13 // Base Class Headers --
14 //----------------------
15 #include "TObject.h"
16 #include "TVector3.h"
17 #include "TLorentzVector.h"
18 #include "RhoVector3Err.h"
19 
20 #include "RhoEventShape.h"
21 
22 // ---------------------
23 // -- Class Interface --
24 // ---------------------
25 
26 class PndEventInfo : public TObject {
27 
28  //--------------------
29  // Instance Members --
30  //--------------------
31  public:
32  // Constructors
33  PndEventInfo();
34  // there should eventually be a constructor that takes all the
35  // various data items
36 
37  // Destructor
38  virtual ~PndEventInfo();
39 
40  // Operations
41  virtual void PrintOn(std::ostream &o = std::cout) const;
42 
43  // accessors to contained information
44  const TLorentzVector &AntiProtonBeam() const { return fAntiProtonBeam; }
45  const TLorentzVector &CmFrame() const { return fCmFrame; }
46  const RhoVector3Err &BeamSpot() const { return fBeamSpot; }
47  const RhoVector3Err &PrimaryVertex() const { return fPrimaryVertex; }
48  const TVector3 &IPTruth() const { return fIPTruth; }
49  // const TEventShape& EventShape() const {return fEventShape;}
50 
51  int GetCharged() { return fNCharged; }
52  int GetNeutrals() { return fNNeutrals; }
53 
54  // Function to set information
55  void SetPrimaryVertex(RhoVector3Err &inVtx) { fPrimaryVertex = inVtx; }
56  void SetIPTruth(TVector3 &inVtx) { fIPTruth = inVtx; }
57  void SetBeamSpot(RhoVector3Err &inVtx) { fBeamSpot = inVtx; }
58  void SetCmFrame(TLorentzVector &cmf);
59  void SetAntiProtonBeam(TLorentzVector &beam);
60 
61  // void SetEventShape(TEventShape &eventShape) {fEventShape=eventShape;}
62 
63  void SetCharged(int n) { fNCharged = n; }
64  void SetNeutrals(int n) { fNNeutrals = n; }
65 
66  private:
67  TLorentzVector fAntiProtonBeam; // The antiproton beam
68  TLorentzVector fCmFrame; // The CMS frame
69  RhoVector3Err fBeamSpot;
70  RhoVector3Err fPrimaryVertex;
71  TVector3 fIPTruth; // the MC truth IP
72  Int_t fNCharged;
73  Int_t fNNeutrals;
74  // TEventShape fEventShape;
75 
76  public:
77  ClassDef(PndEventInfo, 1) // Summary information in the event
78 };
79 
80 // standalone print
81 std::ostream &operator<<(std::ostream &o, const PndEventInfo &);
82 
83 #endif
const RhoVector3Err & PrimaryVertex() const
Definition: PndEventInfo.h:47
void SetNeutrals(int n)
Definition: PndEventInfo.h:64
virtual ~PndEventInfo()
void SetPrimaryVertex(RhoVector3Err &inVtx)
Definition: PndEventInfo.h:55
std::ostream & operator<<(std::ostream &o, const PndEventInfo &)
void SetCmFrame(TLorentzVector &cmf)
void SetCharged(int n)
Definition: PndEventInfo.h:63
int GetNeutrals()
Definition: PndEventInfo.h:52
void SetAntiProtonBeam(TLorentzVector &beam)
const TVector3 & IPTruth() const
Definition: PndEventInfo.h:48
void SetIPTruth(TVector3 &inVtx)
Definition: PndEventInfo.h:56
virtual void PrintOn(std::ostream &o=std::cout) const
const TLorentzVector & CmFrame() const
Definition: PndEventInfo.h:45
const TLorentzVector & AntiProtonBeam() const
Definition: PndEventInfo.h:44
const RhoVector3Err & BeamSpot() const
Definition: PndEventInfo.h:46
int GetCharged()
Definition: PndEventInfo.h:51
void SetBeamSpot(RhoVector3Err &inVtx)
Definition: PndEventInfo.h:57