PandaRoot
RhoEventInfo.h
Go to the documentation of this file.
1 #ifndef RHOEVENTINFO_H
2 #define RHOEVENTINFO_H
3 // //
5 // RhoEventInfo //
6 // //
7 // Contains and provides access to summary information in the event //
8 // useful for analysis //
9 // //
10 // Author List: //
11 // Marcel Kunze, RUB, Dec. 2k //
12 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
13 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring) //
14 // //
16 
17 //----------------------
18 // Base Class Headers --
19 //----------------------
20 #include "TObject.h"
21 #include "TVector3.h"
22 #include "RhoCandidate.h"
23 #include "RhoVector3Err.h"
24 
25 #include "RhoEventShape.h"
26 
27 // ---------------------
28 // -- Class Interface --
29 // ---------------------
30 
31 class RhoEventInfo : public TObject {
32 
33  //--------------------
34  // Instance Members --
35  //--------------------
36 
37  public:
38  // Constructors
39  RhoEventInfo();
40  // there should eventually be a constructor that takes all the
41  // various data items
42 
43  // Destructor
44  virtual ~RhoEventInfo();
45 
46  // Operations
47  virtual void PrintOn(std::ostream &o = std::cout) const;
48 
49  // accessors to contained information
50 
51  const TLorentzVector &CmFrame() const { return fCmFrame; }
52 
53  const RhoVector3Err &BeamSpot() const { return fBeamSpot; }
54  const RhoVector3Err PrimaryVertex() const;
55  const RhoVector3Err *PrimaryVtx() const { return fPrimaryVertex; }
56  const TVector3 *MCImpactPoint() const { return fMCIP; }
57 
58  const RhoEventShape *EventShape() const { return fEventShape; }
59 
60  // Function to set fPrimaryVertex
61  void SetPrimaryVertex(RhoVector3Err *inVtx);
62  void SetIPTruth(const TLorentzVector &inVtx);
63  void SetIPTruth(const TVector3 &inVtx);
64  void SetBeamSpot(const RhoVector3Err &inVtx) { fBeamSpot = inVtx; }
65  void SetCmFrame(const TLorentzVector &cmf) { fCmFrame = cmf; }
66 
67  void SetEventShape(RhoEventShape *eventShape);
68 
69  private:
70  TLorentzVector fCmFrame;
71  TVector3 *fMCIP;
72  RhoVector3Err fBeamSpot;
73  RhoVector3Err *fPrimaryVertex;
74 
75  RhoEventShape *fEventShape;
76 
77  public:
78  ClassDef(RhoEventInfo, 1) // Summary information in the event
79 };
80 
81 // standalone print
82 std::ostream &operator<<(std::ostream &o, const RhoEventInfo &);
83 
84 #endif
const RhoEventShape * EventShape() const
Definition: RhoEventInfo.h:58
virtual void PrintOn(std::ostream &o=std::cout) const
const RhoVector3Err * PrimaryVtx() const
Definition: RhoEventInfo.h:55
const RhoVector3Err & BeamSpot() const
Definition: RhoEventInfo.h:53
const TVector3 * MCImpactPoint() const
Definition: RhoEventInfo.h:56
void SetPrimaryVertex(RhoVector3Err *inVtx)
const RhoVector3Err PrimaryVertex() const
void SetCmFrame(const TLorentzVector &cmf)
Definition: RhoEventInfo.h:65
void SetIPTruth(const TLorentzVector &inVtx)
void SetBeamSpot(const RhoVector3Err &inVtx)
Definition: RhoEventInfo.h:64
void SetEventShape(RhoEventShape *eventShape)
virtual ~RhoEventInfo()
std::ostream & operator<<(std::ostream &o, const RhoEventInfo &)
const TLorentzVector & CmFrame() const
Definition: RhoEventInfo.h:51