147 |
// |
// |
148 |
}; //ELENA |
}; //ELENA |
149 |
|
|
150 |
|
/** |
151 |
|
* Retrieves the itrk-th tof track stored in the array |
152 |
|
* @param itrk Array index (min 0, max ToFLevel2::ntrk()) |
153 |
|
* |
154 |
|
*/ |
155 |
ToFTrkVar *ToFLevel2::GetToFTrkVar(Int_t itrk){ |
ToFTrkVar *ToFLevel2::GetToFTrkVar(Int_t itrk){ |
156 |
// |
// |
157 |
if(itrk >= ntrk()){ |
if(itrk >= ntrk()){ |
168 |
|
|
169 |
/** |
/** |
170 |
* Retrieves the tof track matching the seqno-th tracker stored track. |
* Retrieves the tof track matching the seqno-th tracker stored track. |
171 |
|
* @param seqno Track sequential number |
172 |
|
* (seqno = -1 for standalone tof track, seqno=0-TrkLevel2::ntrk() for tof tracks associated to a tracker track) |
173 |
* |
* |
174 |
*/ |
*/ |
175 |
ToFTrkVar *ToFLevel2::GetToFStoredTrack(int seqno){ |
ToFTrkVar *ToFLevel2::GetToFStoredTrack(int seqno){ |
306 |
* The method was modified for the "ToF-standalone" part in february 2015 |
* The method was modified for the "ToF-standalone" part in february 2015 |
307 |
* The "adcfl" option is not very useful (an artificial dEdx is per |
* The "adcfl" option is not very useful (an artificial dEdx is per |
308 |
* definition= 1 mip and not a real measurement), anyway left in the code |
* definition= 1 mip and not a real measurement), anyway left in the code |
309 |
* @param notrack Track Number |
* @param notrack Track Number (array index, ranging from 0 to ntrk()) |
310 |
* @param plane Plane index (0,1,2,3,4,5) |
* @param plane Plane index (0,1,2,3,4,5) |
311 |
* @param adcflag in the plane (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; ) |
* @param adcflag in the plane (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; ) |
312 |
*/ |
*/ |
313 |
Float_t ToFLevel2::GetdEdx(Int_t notrack, Int_t plane, Int_t adcfl){ |
Float_t ToFLevel2::GetdEdx(Int_t notrack, Int_t plane, Int_t adcfl){ |
314 |
ToFTrkVar *trk = GetToFTrkVar(notrack); |
ToFTrkVar *trk = GetToFTrkVar(notrack); |
315 |
|
// ToFTrkVar *trk = GetToFStoredTrack(seqno);//Elena 2015 |
316 |
return this->GetdEdx(trk, plane, adcfl); |
return this->GetdEdx(trk, plane, adcfl); |
317 |
} |
} |
318 |
|
|
338 |
Int_t SatWarning; |
Int_t SatWarning; |
339 |
Int_t pad=-1; |
Int_t pad=-1; |
340 |
// |
// |
341 |
|
if(!trk) cout << "ToFLevel2::GetdEdx(...) ---> NULL ToFTrkVar obj "<<endl; |
342 |
if(!trk) return 0; //ELENA |
if(!trk) return 0; //ELENA |
343 |
// |
// |
344 |
// ToF standalone part |
// ToF standalone part |
392 |
/** |
/** |
393 |
* Method to fill the ADC_C 4x12 matrix with the dEdx values and the TDC 4x12 matrix |
* Method to fill the ADC_C 4x12 matrix with the dEdx values and the TDC 4x12 matrix |
394 |
* with the time-walk corrected TDC values. |
* with the time-walk corrected TDC values. |
395 |
* @param notrack Track Number |
* @param notrack Track Number (arry index, ranging from 0 to ntrk()) |
396 |
* @param adc ADC_C matrix with dEdx values |
* @param adc ADC_C matrix with dEdx values |
397 |
* @param tdc TDC matrix |
* @param tdc TDC matrix |
398 |
*/ |
*/ |
530 |
* Method to get the dEdx from a given ToF paddle. |
* Method to get the dEdx from a given ToF paddle. |
531 |
* If two PMTs are good, the mean dEdx of both PMTs is taken, otherwise |
* If two PMTs are good, the mean dEdx of both PMTs is taken, otherwise |
532 |
* just the dEdx of the "good" PMT. If both PMTs are above saturation => dEdx=1000 |
* just the dEdx of the "good" PMT. If both PMTs are above saturation => dEdx=1000 |
533 |
* @param notrack Track Number |
* @param notrack Track Number (-1 for standalone info) |
534 |
* @param Paddle index (0,1,...,23). |
* @param Paddle index (0,1,...,23). |
535 |
* @param adcflag in the paddle (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; ) |
* @param adcflag in the paddle (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; ) |
536 |
* @param PadEdx dEdx from a given ToF paddle |
* @param PadEdx dEdx from a given ToF paddle |
539 |
void ToFLevel2::GetdEdxPaddle(Int_t notrack, Int_t paddleid, Int_t adcfl, Float_t &PadEdx, Int_t &SatWarning){ |
void ToFLevel2::GetdEdxPaddle(Int_t notrack, Int_t paddleid, Int_t adcfl, Float_t &PadEdx, Int_t &SatWarning){ |
540 |
|
|
541 |
ToFTrkVar *trk = GetToFTrkVar(notrack); |
ToFTrkVar *trk = GetToFTrkVar(notrack); |
542 |
|
// ToFTrkVar *trk = GetToFStoredTrack(seqno); //Elena 2015 |
543 |
this->GetdEdxPaddle(trk, paddleid, adcfl, PadEdx, SatWarning); |
this->GetdEdxPaddle(trk, paddleid, adcfl, PadEdx, SatWarning); |
544 |
|
|
545 |
}; |
}; |
589 |
Int_t pmt_id = -1; |
Int_t pmt_id = -1; |
590 |
Float_t adcraw[48]; |
Float_t adcraw[48]; |
591 |
// |
// |
592 |
|
if(!trk)cout << "ToFLevel2::GetdEdxPaddle(...) ---> NULL ToFTrkVar obj "<<endl; |
593 |
if(!trk) return; //ELENA |
if(!trk) return; //ELENA |
594 |
// |
// |
595 |
|
|
1244 |
//////////////////////////////////////////////////// |
//////////////////////////////////////////////////// |
1245 |
/** |
/** |
1246 |
* See ToFTrkVar::CalcBeta(Float_t,Float_t, Float_t). |
* See ToFTrkVar::CalcBeta(Float_t,Float_t, Float_t). |
1247 |
|
* @param notrack Track Number (arry index, ranging from 0 to ntrk()) |
1248 |
*/ |
*/ |
1249 |
Float_t ToFLevel2::CalcBeta(Int_t notrack, Float_t resmax, Float_t qualitycut, Float_t chi2cut){ |
Float_t ToFLevel2::CalcBeta(Int_t notrack, Float_t resmax, Float_t qualitycut, Float_t chi2cut){ |
1250 |
|
|
1251 |
// cout<<" in CalcBeta "<<resmax<<" "<<chi2cut<<" "<<qualitycut<<endl; |
// cout<<" in CalcBeta "<<resmax<<" "<<chi2cut<<" "<<qualitycut<<endl; |
1252 |
|
|
1253 |
ToFTrkVar *trk = GetToFTrkVar(notrack); |
ToFTrkVar *trk = GetToFTrkVar(notrack); |
1254 |
|
// ToFTrkVar *trk = GetToFStoredTrack(seqno);//Elena Apr 2015 |
1255 |
if(!trk) return 0; //ELENA |
if(!trk) return 0; //ELENA |
1256 |
|
|
1257 |
return trk->CalcBeta(resmax,qualitycut,chi2cut); |
return trk->CalcBeta(resmax,qualitycut,chi2cut); |