BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TEvtRecObject.cxx
Go to the documentation of this file.
1#include "RootEventData/TEvtRecObject.h"
2#include "TCollection.h" // Declares TIter
3
5
6// Allocate the TObjArray just once
7
8TEvtRecEvent* TEvtRecObject::s_staticEvtRecEvent = 0;
9TObjArray* TEvtRecObject::s_staticEvtRecTrackCol = 0;
10TEvtRecPrimaryVertex* TEvtRecObject::s_staticEvtRecPrimaryVertex = 0;
11TObjArray* TEvtRecObject::s_staticEvtRecVeeVertexCol = 0;
12TObjArray* TEvtRecObject::s_staticEvtRecPi0Col = 0;
13TObjArray* TEvtRecObject::s_staticEvtRecEtaToGGCol = 0;
14TObjArray* TEvtRecObject::s_staticEvtRecDTagCol = 0;
15
17 if ( !s_staticEvtRecEvent ) { s_staticEvtRecEvent = new TEvtRecEvent; }
18 m_evtRecEvent = s_staticEvtRecEvent;
19
20 if ( !s_staticEvtRecTrackCol ) { s_staticEvtRecTrackCol = new TObjArray(); }
21 m_evtRecTrackCol = s_staticEvtRecTrackCol;
22
23 if ( !s_staticEvtRecPrimaryVertex )
24 { s_staticEvtRecPrimaryVertex = new TEvtRecPrimaryVertex(); }
25 m_evtRecPrimaryVertex = s_staticEvtRecPrimaryVertex;
26
27 if ( !s_staticEvtRecVeeVertexCol ) { s_staticEvtRecVeeVertexCol = new TObjArray(); }
28 m_evtRecVeeVertexCol = s_staticEvtRecVeeVertexCol;
29
30 if ( !s_staticEvtRecPi0Col ) { s_staticEvtRecPi0Col = new TObjArray(); }
31 m_evtRecPi0Col = s_staticEvtRecPi0Col;
32
33 if ( !s_staticEvtRecEtaToGGCol ) { s_staticEvtRecEtaToGGCol = new TObjArray(); }
34 m_evtRecEtaToGGCol = s_staticEvtRecEtaToGGCol;
35
36 if ( !s_staticEvtRecDTagCol ) { s_staticEvtRecDTagCol = new TObjArray(); }
37 m_evtRecDTagCol = s_staticEvtRecDTagCol;
38
39 Clear();
40}
41
43
44 if ( m_evtRecEvent == s_staticEvtRecEvent ) s_staticEvtRecEvent = 0;
45 delete m_evtRecEvent;
46 m_evtRecEvent = 0;
47
48 if ( m_evtRecTrackCol == s_staticEvtRecTrackCol ) s_staticEvtRecTrackCol = 0;
49 m_evtRecTrackCol->Delete();
50 delete m_evtRecTrackCol;
51 m_evtRecTrackCol = 0;
52
53 if ( m_evtRecPrimaryVertex == s_staticEvtRecPrimaryVertex ) s_staticEvtRecPrimaryVertex = 0;
54 delete m_evtRecPrimaryVertex;
55 m_evtRecPrimaryVertex = 0;
56
57 if ( m_evtRecVeeVertexCol == s_staticEvtRecVeeVertexCol ) s_staticEvtRecVeeVertexCol = 0;
58 m_evtRecVeeVertexCol->Delete();
59 delete m_evtRecVeeVertexCol;
60 m_evtRecVeeVertexCol = 0;
61
62 if ( m_evtRecPi0Col == s_staticEvtRecPi0Col ) s_staticEvtRecPi0Col = 0;
63 m_evtRecPi0Col->Delete();
64 delete m_evtRecPi0Col;
65 m_evtRecPi0Col = 0;
66
67 if ( m_evtRecEtaToGGCol == s_staticEvtRecEtaToGGCol ) s_staticEvtRecEtaToGGCol = 0;
68 m_evtRecEtaToGGCol->Delete();
69 delete m_evtRecEtaToGGCol;
70 m_evtRecEtaToGGCol = 0;
71
72 if ( m_evtRecDTagCol == s_staticEvtRecDTagCol ) s_staticEvtRecDTagCol = 0;
73 m_evtRecDTagCol->Delete();
74 delete m_evtRecDTagCol;
75 m_evtRecDTagCol = 0;
76}
77
79
80void TEvtRecObject::Clear( Option_t* option ) {}
81
82void TEvtRecObject::Print( Option_t* option ) const { TObject::Print( option ); }
83
85 m_evtRecEvent->setTotalTracks( evtRecEvent->totalTracks() );
86 m_evtRecEvent->setTotalCharged( evtRecEvent->totalCharged() );
87 m_evtRecEvent->setTotalNeutral( evtRecEvent->totalNeutral() );
88 m_evtRecEvent->setNumberOfVee( evtRecEvent->numberOfVee() );
89 m_evtRecEvent->setNumberOfPi0( evtRecEvent->numberOfPi0() );
90 m_evtRecEvent->setNumberOfEtaToGG( evtRecEvent->numberOfEtaToGG() );
91 m_evtRecEvent->setNumberOfDTag( evtRecEvent->numberOfDTag() );
92}
93
94void TEvtRecObject::addEvtRecTrack( TEvtRecTrack* track ) { m_evtRecTrackCol->Add( track ); }
95
97 if ( i >= m_evtRecTrackCol->GetEntries() || i < 0 ) return 0;
98 return (TEvtRecTrack*)m_evtRecTrackCol->At( i );
99}
100
102 m_evtRecPrimaryVertex->setIsValid( evtRecPrimaryVertex->isValid() );
103 m_evtRecPrimaryVertex->setNTracks( evtRecPrimaryVertex->nTracks() );
104 m_evtRecPrimaryVertex->setTrackIdList( evtRecPrimaryVertex->trackIdList() );
105 m_evtRecPrimaryVertex->setChi2( evtRecPrimaryVertex->chi2() );
106 m_evtRecPrimaryVertex->setNdof( evtRecPrimaryVertex->ndof() );
107 m_evtRecPrimaryVertex->setFitMethod( evtRecPrimaryVertex->fitMethod() );
108 Double_t vtx[3];
109 for ( Int_t i = 0; i < 3; i++ ) { vtx[i] = evtRecPrimaryVertex->vertex( i ); }
110 Double_t Evtx[6];
111 for ( Int_t i = 0; i < 6; i++ ) { Evtx[i] = evtRecPrimaryVertex->errorVertex( i ); }
112 m_evtRecPrimaryVertex->setVertex( vtx );
113 m_evtRecPrimaryVertex->setErrorVertex( Evtx );
114}
115
117 m_evtRecVeeVertexCol->Add( veeVertex );
118}
119
120void TEvtRecObject::addEvtRecPi0( TEvtRecPi0* pi0 ) { m_evtRecPi0Col->Add( pi0 ); }
121
122void TEvtRecObject::addEvtRecEtaToGG( TEvtRecEtaToGG* eta ) { m_evtRecEtaToGGCol->Add( eta ); }
123
124void TEvtRecObject::addEvtRecDTag( TEvtRecDTag* dtag ) { m_evtRecDTagCol->Add( dtag ); }
125
127 if ( i >= m_evtRecVeeVertexCol->GetEntries() || i < 0 ) return 0;
128 return (TEvtRecVeeVertex*)m_evtRecVeeVertexCol->At( i );
129}
130
132 if ( i >= m_evtRecPi0Col->GetEntries() || i < 0 ) return 0;
133 return (TEvtRecPi0*)m_evtRecPi0Col->At( i );
134}
135
137 if ( i >= m_evtRecEtaToGGCol->GetEntries() || i < 0 ) return 0;
138 return (TEvtRecEtaToGG*)m_evtRecEtaToGGCol->At( i );
139}
140
142 if ( i >= m_evtRecDTagCol->GetEntries() || i < 0 ) return 0;
143 return (TEvtRecDTag*)m_evtRecDTagCol->At( i );
144}
ClassImp(TEvtRecObject)
const TEvtRecVeeVertex * getEvtRecVeeVertex(Int_t i) const
const TEvtRecTrack * getEvtRecTrack(Int_t i) const
const TEvtRecPi0 * getEvtRecPi0(Int_t i) const
const TEvtRecEtaToGG * getEvtRecEtaToGG(Int_t i) const
void addEvtRecEtaToGG(TEvtRecEtaToGG *eta)
void Clear(Option_t *option="")
void addEvtRecPi0(TEvtRecPi0 *pi0)
void Print(Option_t *option="") const
void setEvtRecPrimaryVertex(TEvtRecPrimaryVertex *evtRecPrimaryVertex)
void addEvtRecTrack(TEvtRecTrack *track)
void setEvtRecEvent(TEvtRecEvent *evtRecEvent)
virtual ~TEvtRecObject()
const TEvtRecDTag * getEvtRecDTag(Int_t i) const
void addEvtRecVeeVertex(TEvtRecVeeVertex *veeVertex)
void addEvtRecDTag(TEvtRecDTag *dtag)