FairRoot/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 "RhoBase/RhoCandidate.h"
23 #include "RhoMath/RhoVector3Err.h"
24 
25 #include "RhoBase/RhoEventShape.h"
26 
27 // ---------------------
28 // -- Class Interface --
29 // ---------------------
30 
31 class RhoEventInfo : public TObject
32 {
33 
34  //--------------------
35  // Instance Members --
36  //--------------------
37 
38  public:
39 
40  // Constructors
41  RhoEventInfo();
42  // there should eventually be a constructor that takes all the
43  // various data items
44 
45  // Destructor
46  virtual ~RhoEventInfo( );
47 
48  // Operations
49  virtual void PrintOn ( std::ostream& o=std::cout ) const;
50 
51  // accessors to contained information
52 
53  const TLorentzVector& CmFrame() const {
54  return fCmFrame;
55  }
56 
57  const RhoVector3Err& BeamSpot() const {
58  return fBeamSpot;
59  }
60  const RhoVector3Err PrimaryVertex() const;
61  const RhoVector3Err* PrimaryVtx() const {
62  return fPrimaryVertex;
63  }
64  const TVector3* MCImpactPoint() const {
65  return fMCIP;
66  }
67 
68  const RhoEventShape* EventShape() const {
69  return fEventShape;
70  }
71 
72  // Function to set fPrimaryVertex
73  void SetPrimaryVertex ( RhoVector3Err* inVtx ) ;
74  void SetIPTruth ( const TLorentzVector& inVtx ) ;
75  void SetIPTruth ( const TVector3& inVtx ) ;
76  void SetBeamSpot ( const RhoVector3Err& inVtx ) {
77  fBeamSpot=inVtx;
78  }
79  void SetCmFrame ( const TLorentzVector& cmf ) {
80  fCmFrame =cmf;
81  }
82 
83  void SetEventShape ( RhoEventShape* eventShape );
84 
85  private:
86  TLorentzVector fCmFrame;
87  TVector3* fMCIP;
90 
92 
93  public:
94  ClassDef ( RhoEventInfo,1 ) // Summary information in the event
95 };
96 
97 // standalone print
99 
100 #endif
const TLorentzVector & CmFrame() const
Definition: RhoEventInfo.h:53
const TVector3 * MCImpactPoint() const
Definition: RhoEventInfo.h:64
RhoVector3Err * fPrimaryVertex
The beam spot w/ error matrix.
Definition: RhoEventInfo.h:89
const RhoEventShape * EventShape() const
Definition: RhoEventInfo.h:68
TLorentzVector fCmFrame
Definition: RhoEventInfo.h:86
RhoVector3Err fBeamSpot
The MC interaction point.
Definition: RhoEventInfo.h:88
TVector3 * fMCIP
The CMS frame.
Definition: RhoEventInfo.h:87
void SetPrimaryVertex(RhoVector3Err *inVtx)
void SetCmFrame(const TLorentzVector &cmf)
Definition: RhoEventInfo.h:79
void SetIPTruth(const TLorentzVector &inVtx)
void SetBeamSpot(const RhoVector3Err &inVtx)
Definition: RhoEventInfo.h:76
const RhoVector3Err & BeamSpot() const
Definition: RhoEventInfo.h:57
const RhoVector3Err PrimaryVertex() const
void SetEventShape(RhoEventShape *eventShape)
virtual ~RhoEventInfo()
virtual void PrintOn(std::ostream &o=std::cout) const
std::ostream & operator<<(std::ostream &o, const RhoEventInfo &)
const RhoVector3Err * PrimaryVtx() const
Definition: RhoEventInfo.h:61
RhoEventShape * fEventShape
The primary vertex.
Definition: RhoEventInfo.h:91