/* * TrkChi2DeflTimeCut.cpp * * Created on: 6-oct-2009 * Author: S. Ricciarini */ #include "TrkChi2DeflTimeCut.h" int TrkChi2DeflTimeCut::Check(PamLevel2 *event) { Double_t chi2 = event->GetTrack(0)->GetTrkTrack()->chi2; if (chi2 < 0.) return 0; Double_t eta2 = event->GetTrack(0)->GetTrkTrack()->GetDeflection(); //Sign doesn't matter eta2 *= eta2; // Now eta2 is deflection^2 #ifdef DEBUGPAMCUT h_trk_chi2_defl[0]->Fill(event->GetTrack(0)->GetTrkTrack()->GetDeflection(), pow(chi2,0.25)); #endif _time.Set(event->GetOrbitalInfo()->absTime, kFALSE, 0, kFALSE); // TTimestamp::GetDate() returns date in format YYYYMMDD so to compare it // with 4-digits dates (YYMM) we must subtract 20000000 and then divide by 100 (divide by integer) Int_t iMonthSel = (_time.GetDate(kFALSE) - 20000000)/100; // note: GetDate returns an unsigned integer for (UInt_t i=0; i<_iMonth.size(); i++) { if (_iMonth[i]==iMonthSel) { _p0sel=_p0[i]; _p1sel=_p1[i]; _p2sel=_p2[i]; // cout << "FOUND: month " << iMonthSel << endl; // cout << _p0sel << " " << _p1sel << " " << _p2sel << endl; break; } } if (chi2 > _p0sel + _p1sel * eta2 + _p2sel * eta2 * eta2) { return 0; } #ifdef DEBUGPAMCUT h_trk_chi2_defl[1]->Fill(event->GetTrack(0)->GetTrkTrack()->GetDeflection(), pow(chi2,0.25)); #endif return CUTOK; }