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

#include <TofCheckData.h>

Public Member Functions

 TofCheckData (NTuple::Tuple *&trk, NTuple::Tuple *&cbtrk, NTuple::Tuple *&cetrk, NTuple::Tuple *&cetftrk)
 ~TofCheckData ()
void Fill (Event::EventHeader &, RecTofTrack *&, RecMdcKalTrack *&, bool)
void FillBarrel (Event::EventHeader &, RecBTofCalHit *&)
void Fill (Event::EventHeader &, RecETofCalHit *&)
void FillETF (Event::EventHeader &, RecBTofCalHit *&)
void FillCol (Event::EventHeader &, RecTofTrackCol &, RecMdcKalTrackCol &)
void FillCol (Event::EventHeader &, RecBTofCalHitCol &)
void FillCol (Event::EventHeader &, RecETofCalHitCol &)

Detailed Description

Definition at line 11 of file TofCheckData.h.

Constructor & Destructor Documentation

◆ TofCheckData()

TofCheckData::TofCheckData ( NTuple::Tuple *& trk,
NTuple::Tuple *& cbtrk,
NTuple::Tuple *& cetrk,
NTuple::Tuple *& cetftrk )

Definition at line 5 of file TofCheckData.cxx.

7 : trk_tuple( trk ), cbtrk_tuple( cbtrk ), cetrk_tuple( cetrk ), cetftrk_tuple( cetftrk ) {
8
9 if ( !trk_tuple )
10 {
11 std::cerr << " Error: invalid pionter in TofCheckData(NTuple::Tuple*) for trk_tple"
12 << std::endl;
13 }
14 else
15 {
16 trk_tuple->addItem( "run", trk_run );
17 trk_tuple->addItem( "event", trk_event );
18 trk_tuple->addItem( "toftrackid", trk_toftrackid );
19 trk_tuple->addItem( "trackid", trk_trackid );
20 trk_tuple->addItem( "charge", trk_charge );
21 trk_tuple->addItem( "p", 5, trk_p );
22 trk_tuple->addItem( "tofid", trk_tofid );
23 trk_tuple->addItem( "strip", trk_strip );
24 trk_tuple->addItem( "raw", trk_raw );
25 trk_tuple->addItem( "readout", trk_readout );
26 trk_tuple->addItem( "counter", trk_counter );
27 trk_tuple->addItem( "cluster", trk_cluster );
28 trk_tuple->addItem( "barrel", trk_barrel );
29 trk_tuple->addItem( "east", trk_east );
30 trk_tuple->addItem( "layer", trk_layer );
31 trk_tuple->addItem( "over", trk_overflow );
32 trk_tuple->addItem( "cluster", trk_cluster );
33 trk_tuple->addItem( "multihit", trk_multihit );
34 trk_tuple->addItem( "ncounter", trk_ncounter );
35 trk_tuple->addItem( "neast", trk_neast );
36 trk_tuple->addItem( "nwest", trk_nwest );
37 trk_tuple->addItem( "mrpc", trk_mrpc );
38 trk_tuple->addItem( "path", trk_path );
39 trk_tuple->addItem( "zrhit", trk_zrhit );
40 trk_tuple->addItem( "ph", trk_ph );
41 trk_tuple->addItem( "tof", trk_tof );
42 trk_tuple->addItem( "errtof", trk_errtof );
43 trk_tuple->addItem( "beta", trk_beta );
44 trk_tuple->addItem( "texpe", trk_texpe );
45 trk_tuple->addItem( "texpmu", trk_texpmu );
46 trk_tuple->addItem( "texppi", trk_texppi );
47 trk_tuple->addItem( "texpk", trk_texpk );
48 trk_tuple->addItem( "texpp", trk_texpp );
49 trk_tuple->addItem( "offe", trk_offe );
50 trk_tuple->addItem( "offmu", trk_offmu );
51 trk_tuple->addItem( "offpi", trk_offpi );
52 trk_tuple->addItem( "offk", trk_offk );
53 trk_tuple->addItem( "offp", trk_offp );
54 trk_tuple->addItem( "sige", trk_sige );
55 trk_tuple->addItem( "sigmu", trk_sigmu );
56 trk_tuple->addItem( "sigpi", trk_sigpi );
57 trk_tuple->addItem( "sigk", trk_sigk );
58 trk_tuple->addItem( "sigp", trk_sigp );
59 trk_tuple->addItem( "qual", trk_quality );
60 trk_tuple->addItem( "t0", trk_t0 );
61 trk_tuple->addItem( "errt0", trk_errt0 );
62 trk_tuple->addItem( "errz", trk_errz );
63 trk_tuple->addItem( "phi", trk_phi );
64 trk_tuple->addItem( "errphi", trk_errphi );
65 trk_tuple->addItem( "e", trk_energy );
66 trk_tuple->addItem( "erre", trk_errenergy );
67 }
68
69 if ( !cbtrk_tuple )
70 {
71 std::cerr << " Error: invalid pionter in TofCheckData(NTuple::Tuple*) for cbtrk_tple"
72 << std::endl;
73 }
74 else
75 {
76 cbtrk_tuple->addItem( "run", cbtrk_run );
77 cbtrk_tuple->addItem( "event", cbtrk_event );
78 cbtrk_tuple->addItem( "tofid", cbtrk_tofid );
79 cbtrk_tuple->addItem( "qual", cbtrk_qual );
80 cbtrk_tuple->addItem( "texp", cbtrk_texp );
81 cbtrk_tuple->addItem( "tdc1", cbtrk_tdc1 );
82 cbtrk_tuple->addItem( "tdc2", cbtrk_tdc2 );
83 cbtrk_tuple->addItem( "adc1", cbtrk_adc1 );
84 cbtrk_tuple->addItem( "adc2", cbtrk_adc2 );
85 cbtrk_tuple->addItem( "zhit", cbtrk_zhit );
86 cbtrk_tuple->addItem( "dzhit", cbtrk_dzhit );
87 cbtrk_tuple->addItem( "sint", cbtrk_sintheta );
88 cbtrk_tuple->addItem( "p", cbtrk_p );
89 cbtrk_tuple->addItem( "q", cbtrk_q );
90 cbtrk_tuple->addItem( "path", cbtrk_path );
91 }
92
93 if ( !cetrk_tuple )
94 {
95 std::cerr << " Error: invalid pionter in TofCheckData(NTuple::Tuple*) for cetrk_tple"
96 << std::endl;
97 }
98 else
99 {
100 cetrk_tuple->addItem( "run", cetrk_run );
101 cetrk_tuple->addItem( "event", cetrk_event );
102 cetrk_tuple->addItem( "tofid", cetrk_tofid );
103 cetrk_tuple->addItem( "qual", cetrk_qual );
104 cetrk_tuple->addItem( "texp", cetrk_texp );
105 cetrk_tuple->addItem( "tdc", cetrk_tdc );
106 cetrk_tuple->addItem( "adc", cetrk_adc );
107 cetrk_tuple->addItem( "rhit", cetrk_rhit );
108 cetrk_tuple->addItem( "drhit", cetrk_drhit );
109 // cetrk_tuple->addItem("sint", cetrk_sintheta );
110 cetrk_tuple->addItem( "p", cetrk_p );
111 cetrk_tuple->addItem( "q", cetrk_q );
112 cetrk_tuple->addItem( "path", cetrk_path );
113 }
114
115 if ( !cetftrk_tuple )
116 {
117 std::cerr << " Error: invalid pionter in TofCheckData(NTuple::Tuple*) for cetftrk_tple"
118 << std::endl;
119 }
120 else
121 {
122 cetftrk_tuple->addItem( "run", cetftrk_run );
123 cetftrk_tuple->addItem( "event", cetftrk_event );
124 cetftrk_tuple->addItem( "tofid", cetftrk_tofid );
125 cetftrk_tuple->addItem( "qual", cetftrk_qual );
126 cetftrk_tuple->addItem( "texp", cetftrk_texp );
127 cetftrk_tuple->addItem( "tdc1", cetftrk_tdc1 );
128 cetftrk_tuple->addItem( "tdc2", cetftrk_tdc2 );
129 cetftrk_tuple->addItem( "adc1", cetftrk_adc1 );
130 cetftrk_tuple->addItem( "adc2", cetftrk_adc2 );
131 cetftrk_tuple->addItem( "zhit", cetftrk_zhit );
132 cetftrk_tuple->addItem( "dzhit", cetftrk_dzhit );
133 cetftrk_tuple->addItem( "sint", cetftrk_sintheta );
134 cetftrk_tuple->addItem( "p", cetftrk_p );
135 cetftrk_tuple->addItem( "q", cetftrk_q );
136 cetftrk_tuple->addItem( "path", cetftrk_path );
137 }
138}

◆ ~TofCheckData()

TofCheckData::~TofCheckData ( )
inline

Definition at line 15 of file TofCheckData.h.

15{}

Member Function Documentation

◆ Fill() [1/2]

void TofCheckData::Fill ( Event::EventHeader & eventHeader,
RecETofCalHit *& recETof )

Definition at line 256 of file TofCheckData.cxx.

256 {
257
258 cetrk_run = eventHeader.runNumber();
259 cetrk_event = eventHeader.eventNumber();
260 cetrk_tofid = recETof->mod();
261 cetrk_qual = recETof->qual();
262 cetrk_texp = recETof->tpred( 1 );
263 cetrk_tdc = recETof->tdc();
264 cetrk_adc = recETof->adc();
265 cetrk_rhit = recETof->rHit();
266 cetrk_drhit = recETof->drHit();
267 // cetrk_sintheta = recETof->sinTheta();
268 cetrk_p = recETof->p();
269 cetrk_q = recETof->Q();
270 cetrk_path = recETof->path();
271 cetrk_tuple->write();
272 return;
273}
int eventNumber() const
Retrieve event number.

◆ Fill() [2/2]

void TofCheckData::Fill ( Event::EventHeader & eventHeader,
RecTofTrack *& recTof,
RecMdcKalTrack *& kalTrack,
bool fillTrk )

Definition at line 140 of file TofCheckData.cxx.

141 {
142
143 int charge = 0;
144 double p[5] = { 0. };
145 if ( fillTrk )
146 {
148 double kappa = kalTrack->kappa();
149 if ( kappa > 0 ) { charge = 1; }
150 else { charge = -1; }
151 if ( abs( kappa ) < 1.0e-6 ) { kappa = 1.0e-6; }
152 p[0] = abs( sqrt( 1.0 + kalTrack->tanl() * kalTrack->tanl() ) / kappa );
153 kalTrack->setPidType( RecMdcKalTrack::muon );
154 kappa = kalTrack->kappa();
155 if ( abs( kappa ) < 1.0e-6 ) { kappa = 1.0e-6; }
156 p[1] = abs( sqrt( 1.0 + kalTrack->tanl() * kalTrack->tanl() ) / kappa );
157 kalTrack->setPidType( RecMdcKalTrack::pion );
158 kappa = kalTrack->kappa();
159 if ( abs( kappa ) < 1.0e-6 ) { kappa = 1.0e-6; }
160 p[2] = abs( sqrt( 1.0 + kalTrack->tanl() * kalTrack->tanl() ) / kappa );
161 kalTrack->setPidType( RecMdcKalTrack::kaon );
162 kappa = kalTrack->kappa();
163 if ( abs( kappa ) < 1.0e-6 ) { kappa = 1.0e-6; }
164 p[3] = abs( sqrt( 1.0 + kalTrack->tanl() * kalTrack->tanl() ) / kappa );
166 kappa = kalTrack->kappa();
167 if ( abs( kappa ) < 1.0e-6 ) { kappa = 1.0e-6; }
168 p[4] = abs( sqrt( 1.0 + kalTrack->tanl() * kalTrack->tanl() ) / kappa );
169 }
170 trk_run = eventHeader.runNumber();
171 trk_event = eventHeader.eventNumber();
172 trk_toftrackid = recTof->tofTrackID();
173 trk_trackid = recTof->trackID();
174 trk_charge = charge;
175 for ( unsigned int i = 0; i < 5; i++ ) { trk_p[i] = p[i]; }
176 trk_tofid = recTof->tofID();
177 trk_strip = recTof->strip();
178 TofHitStatus* hitStatus = new TofHitStatus;
179 hitStatus->setStatus( recTof->status() );
180 trk_raw = hitStatus->is_raw();
181 trk_readout = hitStatus->is_readout();
182 trk_counter = hitStatus->is_counter();
183 trk_cluster = hitStatus->is_cluster();
184 trk_barrel = hitStatus->is_barrel();
185 trk_east = hitStatus->is_east();
186 trk_layer = hitStatus->layer();
187 trk_overflow = hitStatus->is_overflow();
188 trk_multihit = hitStatus->is_multihit();
189 trk_ncounter = hitStatus->ncounter();
190 trk_neast = hitStatus->neast();
191 trk_nwest = hitStatus->nwest();
192 trk_mrpc = hitStatus->is_mrpc();
193 delete hitStatus;
194 /*
195 if( hitStatus->is_mrpc() ) {
196 if( recTof->tofID() >= 0 ) {
197 trk_tofid = static_cast<int>(recTof->tofID()/12);
198 trk_strip = static_cast<int>(recTof->tofID()%12);
199 }
200 }
201 */
202 trk_path = recTof->path();
203 trk_zrhit = recTof->zrhit();
204 trk_ph = recTof->ph();
205 trk_tof = recTof->tof();
206 trk_errtof = recTof->errtof();
207 trk_beta = recTof->beta();
208 trk_texpe = recTof->texpElectron();
209 trk_texpmu = recTof->texpMuon();
210 trk_texppi = recTof->texpPion();
211 trk_texpk = recTof->texpKaon();
212 trk_texpp = recTof->texpProton();
213 trk_offe = recTof->toffsetElectron();
214 trk_offmu = recTof->toffsetMuon();
215 trk_offpi = recTof->toffsetPion();
216 trk_offk = recTof->toffsetKaon();
217 trk_offp = recTof->toffsetProton();
218 trk_sige = recTof->sigmaElectron();
219 trk_sigmu = recTof->sigmaMuon();
220 trk_sigpi = recTof->sigmaPion();
221 trk_sigk = recTof->sigmaKaon();
222 trk_sigp = recTof->sigmaProton();
223 trk_quality = recTof->quality();
224 trk_t0 = recTof->t0();
225 trk_errt0 = recTof->errt0();
226 trk_errz = recTof->errz();
227 trk_phi = recTof->phi();
228 trk_errphi = recTof->errphi();
229 trk_energy = recTof->energy();
230 trk_errenergy = recTof->errenergy();
231 trk_tuple->write();
232 return;
233}
void setStatus(unsigned int status)

Referenced by FillCol(), and FillCol().

◆ FillBarrel()

void TofCheckData::FillBarrel ( Event::EventHeader & eventHeader,
RecBTofCalHit *& recBTof )

Definition at line 235 of file TofCheckData.cxx.

235 {
236
237 cbtrk_run = eventHeader.runNumber();
238 cbtrk_event = eventHeader.eventNumber();
239 cbtrk_tofid = recBTof->mod();
240 cbtrk_qual = recBTof->qual();
241 cbtrk_texp = recBTof->tpred( 1 );
242 cbtrk_tdc1 = recBTof->tdc1();
243 cbtrk_tdc2 = recBTof->tdc2();
244 cbtrk_adc1 = recBTof->adc1();
245 cbtrk_adc2 = recBTof->adc2();
246 cbtrk_zhit = recBTof->zHit();
247 cbtrk_dzhit = recBTof->dzHit();
248 cbtrk_sintheta = recBTof->sinTheta();
249 cbtrk_p = recBTof->p();
250 cbtrk_q = recBTof->Q();
251 cbtrk_path = recBTof->path();
252 cbtrk_tuple->write();
253 return;
254}

Referenced by FillCol().

◆ FillCol() [1/3]

void TofCheckData::FillCol ( Event::EventHeader & eventHeader,
RecBTofCalHitCol & recBTofCalHitCol )

Definition at line 311 of file TofCheckData.cxx.

312 {
313 RecBTofCalHitCol::iterator iter_btof = recBTofCalHitCol.begin();
314 for ( ; iter_btof != recBTofCalHitCol.end(); iter_btof++ )
315 {
316 if ( fabs( ( *iter_btof )->dzHit() - 1.0 ) < 1.0e-6 )
317 { FillBarrel( eventHeader, *iter_btof ); }
318 else { FillETF( eventHeader, *iter_btof ); }
319 }
320 return;
321}
void FillETF(Event::EventHeader &, RecBTofCalHit *&)
void FillBarrel(Event::EventHeader &, RecBTofCalHit *&)

◆ FillCol() [2/3]

void TofCheckData::FillCol ( Event::EventHeader & eventHeader,
RecETofCalHitCol & recETofCalHitCol )

Definition at line 323 of file TofCheckData.cxx.

324 {
325 RecETofCalHitCol::iterator iter_etof = recETofCalHitCol.begin();
326 for ( ; iter_etof != recETofCalHitCol.end(); iter_etof++ )
327 { Fill( eventHeader, *iter_etof ); }
328 return;
329}
void Fill(Event::EventHeader &, RecTofTrack *&, RecMdcKalTrack *&, bool)

◆ FillCol() [3/3]

void TofCheckData::FillCol ( Event::EventHeader & eventHeader,
RecTofTrackCol & recTofTrackCol,
RecMdcKalTrackCol & kalTrackCol )

Definition at line 296 of file TofCheckData.cxx.

297 {
298 RecTofTrackCol::iterator iter_tof = recTofTrackCol.begin();
299 for ( ; iter_tof != recTofTrackCol.end(); iter_tof++ )
300 {
301 RecMdcKalTrackCol::iterator iter_kal = kalTrackCol.begin();
302 for ( ; iter_kal != kalTrackCol.end(); iter_kal++ )
303 {
304 if ( ( *iter_tof )->trackID() == ( *iter_kal )->trackId() ) break;
305 }
306 Fill( eventHeader, *iter_tof, *iter_kal, iter_kal != kalTrackCol.end() );
307 }
308 return;
309}

◆ FillETF()

void TofCheckData::FillETF ( Event::EventHeader & eventHeader,
RecBTofCalHit *& recBTof )

Definition at line 275 of file TofCheckData.cxx.

275 {
276
277 cetftrk_run = eventHeader.runNumber();
278 cetftrk_event = eventHeader.eventNumber();
279 cetftrk_tofid = recBTof->mod();
280 cetftrk_qual = recBTof->qual();
281 cetftrk_texp = recBTof->tpred( 1 );
282 cetftrk_tdc1 = recBTof->tdc1();
283 cetftrk_tdc2 = recBTof->tdc2();
284 cetftrk_adc1 = recBTof->adc1();
285 cetftrk_adc2 = recBTof->adc2();
286 cetftrk_zhit = recBTof->zHit();
287 cetftrk_dzhit = recBTof->dzHit();
288 cetftrk_sintheta = recBTof->sinTheta();
289 cetftrk_p = recBTof->p();
290 cetftrk_q = recBTof->Q();
291 cetftrk_path = recBTof->path();
292 cetftrk_tuple->write();
293 return;
294}

Referenced by FillCol().


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