/* * TrkChi2DeflTimeCut.cpp * * Created on: 6-oct-2009 * Author: S. Ricciarini */ #include "TrkChi2DeflTimeCut.h" double TrkChi2DeflTimeCut::_GetChi2(PamLevel2 *event){ return event->GetTrack(0)->GetTrkTrack()->chi2; } int TrkChi2DeflTimeCut::Check(PamLevel2 *event) { double chi2 = _GetChi2(event); if (chi2 < 0.) return 0; Double_t etaMod = fabs(event->GetTrack(0)->GetTrkTrack()->GetDeflection()); _time.Set(event->GetOrbitalInfo()->absTime, kFALSE, 0, kFALSE); // TTimestamp::GetDate() returns date in format YYYYMMDD so to compare it // with 6-digits dates (YYMMDD) we must subtract 20000000 Int_t iDaySel = (_time.GetDate(kFALSE) - 20000000); // note: GetDate returns an unsigned integer for (UInt_t i=0; i<_iDayFirst.size(); i++) { if (_iDayFirst[i]<=iDaySel && iDaySel<=_iDayLast[i]) { _p0sel=_p0[i]; _p1sel=_p1[i]; _p2sel=_p2[i]; _p3sel=_p3[i]; // cout << "FOUND: day " << iDaySel << endl; // cout << _iDayFirst[i] << " " << _iDayLast[i] << endl; // cout << _p0sel << " " << _p1sel << " " << _p2sel << " " << _p3sel << endl; break; } return 0; } if (chi2 > _p0sel + _p1sel * pow(etaMod,_p2sel) * (1.+ pow(_p3sel*etaMod,2) ) ){ return 0; } return CUTOK; }