BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MdcAliEvent Class Reference

#include <MdcAliEvent.h>

Public Member Functions

void setParam (MdcAliParams &param)
StatusCode setRecEvent ()
StatusCode setKalEvent ()
int getEsFlag () const
bool getEsCutFlag () const
double getTes () const
int getNTrk () const
MdcAliRecTrkgetRecTrk (int index) const
void clear ()

Detailed Description

Definition at line 15 of file MdcAliEvent.h.

Member Function Documentation

◆ clear()

void MdcAliEvent::clear ( )

Definition at line 156 of file MdcAliEvent.cxx.

156 {
157 unsigned int i;
158 for ( i = 0; i < m_rectrk.size(); i++ ) { delete m_rectrk[i]; }
159 m_rectrk.clear();
160}

◆ getEsCutFlag()

bool MdcAliEvent::getEsCutFlag ( ) const
inline

Definition at line 22 of file MdcAliEvent.h.

22{ return m_esCutFg; }

◆ getEsFlag()

int MdcAliEvent::getEsFlag ( ) const
inline

Definition at line 21 of file MdcAliEvent.h.

21{ return m_esFlag; }

◆ getNTrk()

int MdcAliEvent::getNTrk ( ) const
inline

Definition at line 25 of file MdcAliEvent.h.

25{ return m_rectrk.size(); }

◆ getRecTrk()

MdcAliRecTrk * MdcAliEvent::getRecTrk ( int index) const
inline

Definition at line 26 of file MdcAliEvent.h.

26{ return m_rectrk[index]; }

◆ getTes()

double MdcAliEvent::getTes ( ) const
inline

Definition at line 23 of file MdcAliEvent.h.

23{ return m_tes; }

◆ setKalEvent()

StatusCode MdcAliEvent::setKalEvent ( )

Definition at line 95 of file MdcAliEvent.cxx.

95 {
96 IMessageSvc* msgSvc;
97 Gaudi::svcLocator()->service( "MessageSvc", msgSvc );
98 MsgStream log( msgSvc, "MdcAliEvent" );
99 log << MSG::INFO << "MdcAliEvent::setKalEvent" << endmsg;
100
101 IDataProviderSvc* eventSvc = NULL;
102 Gaudi::svcLocator()->service( "EventDataSvc", eventSvc );
103
104 // get EsTimeCol
105 SmartDataPtr<RecEsTimeCol> aevtimeCol( eventSvc, "/Event/Recon/RecEsTimeCol" );
106 if ( !aevtimeCol || ( aevtimeCol->size() == 0 ) )
107 {
108 m_tes = -9999.0;
109 m_esFlag = -1;
110 }
111 else
112 {
113 RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
114 for ( ; iter_evt != aevtimeCol->end(); iter_evt++ )
115 {
116 m_tes = ( *iter_evt )->getTest();
117 m_esFlag = ( *iter_evt )->getStat();
118 }
119 }
120
121 m_esCutFg = false;
122 bool flagTes = false;
123 for ( int iEs = 0; iEs < m_param.nEsFlag; iEs++ )
124 {
125 if ( m_esFlag == m_param.esFlag[iEs] )
126 {
127 flagTes = true;
128 break;
129 }
130 }
131 if ( flagTes && ( m_tes > m_param.tesMin ) && ( m_tes < m_param.tesMax ) ) m_esCutFg = true;
132
133 SmartDataPtr<RecMdcKalTrackCol> kaltrkCol( eventSvc, "/Event/Recon/RecMdcKalTrackCol" );
134 if ( !kaltrkCol )
135 {
136 log << MSG::FATAL << "Could not find RecMdcKalTrackCol" << endmsg;
137 return StatusCode::FAILURE;
138 }
139
140 int i = 0;
141 MdcAliRecTrk* rectrk;
142 RecMdcKalTrackCol::iterator iter_trk = kaltrkCol->begin();
143 for ( ; iter_trk != kaltrkCol->end(); iter_trk++ )
144 {
145 rectrk = new MdcAliRecTrk();
146 rectrk->setKalTrk( iter_trk );
147 m_rectrk.push_back( rectrk );
148
149 i++;
150 }
151 log << MSG::INFO << "KalTrack ntrk = " << i << endmsg;
152
153 return StatusCode::SUCCESS;
154}
IMessageSvc * msgSvc()
void setKalTrk(RecMdcKalTrackCol::iterator it_trk)

◆ setParam()

void MdcAliEvent::setParam ( MdcAliParams & param)
inline

Definition at line 17 of file MdcAliEvent.h.

17{ m_param = param; }

◆ setRecEvent()

StatusCode MdcAliEvent::setRecEvent ( )

Definition at line 35 of file MdcAliEvent.cxx.

35 {
36 IMessageSvc* msgSvc;
37 Gaudi::svcLocator()->service( "MessageSvc", msgSvc );
38 MsgStream log( msgSvc, "MdcAliEvent" );
39 log << MSG::INFO << "MdcAliEvent::setRecEvent" << endmsg;
40
41 IDataProviderSvc* eventSvc = NULL;
42 Gaudi::svcLocator()->service( "EventDataSvc", eventSvc );
43
44 // get EsTimeCol
45 SmartDataPtr<RecEsTimeCol> aevtimeCol( eventSvc, "/Event/Recon/RecEsTimeCol" );
46 if ( !aevtimeCol || ( aevtimeCol->size() == 0 ) )
47 {
48 m_tes = -9999.0;
49 m_esFlag = -1;
50 }
51 else
52 {
53 RecEsTimeCol::iterator iter_evt = aevtimeCol->begin();
54 for ( ; iter_evt != aevtimeCol->end(); iter_evt++ )
55 {
56 m_tes = ( *iter_evt )->getTest();
57 m_esFlag = ( *iter_evt )->getStat();
58 }
59 }
60
61 m_esCutFg = false;
62 bool flagTes = false;
63 for ( int iEs = 0; iEs < m_param.nEsFlag; iEs++ )
64 {
65 if ( m_esFlag == m_param.esFlag[iEs] )
66 {
67 flagTes = true;
68 break;
69 }
70 }
71 if ( flagTes && ( m_tes > m_param.tesMin ) && ( m_tes < m_param.tesMax ) ) m_esCutFg = true;
72
73 SmartDataPtr<RecMdcTrackCol> newtrkCol( eventSvc, "/Event/Recon/RecMdcTrackCol" );
74 if ( !newtrkCol )
75 {
76 log << MSG::ERROR << "Could not find RecMdcTrackCol" << endmsg;
77 return ( StatusCode::FAILURE );
78 }
79
80 int i = 0;
81 MdcAliRecTrk* rectrk;
82 RecMdcTrackCol::iterator it_trk = newtrkCol->begin();
83 for ( ; it_trk != newtrkCol->end(); it_trk++ )
84 {
85 rectrk = new MdcAliRecTrk();
86 rectrk->setRecTrk( it_trk );
87 m_rectrk.push_back( rectrk );
88
89 i++;
90 }
91
92 return StatusCode::SUCCESS;
93}
void setRecTrk(RecMdcTrackCol::iterator it_trk)

The documentation for this class was generated from the following files: