/[PAMELA software]/PamCut/TrkCuts/TrkChi2DeflTimeCut/TrkChi2DeflTimeCut.cpp
ViewVC logotype

Contents of /PamCut/TrkCuts/TrkChi2DeflTimeCut/TrkChi2DeflTimeCut.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations) (download)
Sat Feb 20 12:56:45 2010 UTC (14 years, 9 months ago) by pam-fi
Branch: MAIN
CVS Tags: Root_V8, MergedToHEAD_1, nuclei_reproc, MergedFromV8_1, BeforeMergingFromV8_1
Branch point for: V8
Changes since 1.3: +18 -13 lines
Bug in interval determination fixed.

1 /*
2 * TrkChi2DeflTimeCut.cpp
3 *
4 * Created on: 6-oct-2009
5 * Author: S. Ricciarini
6 */
7
8 #include "TrkChi2DeflTimeCut.h"
9
10 double TrkChi2DeflTimeCut::_GetChi2(PamLevel2 *event) {
11 return event->GetTrack(0)->GetTrkTrack()->chi2;
12 }
13
14 int TrkChi2DeflTimeCut::Check(PamLevel2 *event) {
15
16 double chi2 = _GetChi2(event);
17 if (chi2 < 0.)
18 return 0;
19 Double_t etaMod = fabs(event->GetTrack(0)->GetTrkTrack()->GetDeflection());
20
21 _time.Set(event->GetOrbitalInfo()->absTime, kFALSE, 0, kFALSE);
22 // TTimestamp::GetDate() returns date in format YYYYMMDD so to compare it
23 // with 6-digits dates (YYMMDD) we must subtract 20000000
24
25 Int_t iDaySel = (_time.GetDate(kFALSE) - 20000000); // note: GetDate returns an unsigned integer
26
27 bool found = false;
28 for (UInt_t i = 0; i < _iDayFirst.size(); i++) {
29 if (_iDayFirst[i] <= iDaySel && iDaySel <= _iDayLast[i]) {
30 _p0sel = _p0[i];
31 _p1sel = _p1[i];
32 _p2sel = _p2[i];
33 _p3sel = _p3[i];
34 // cout << "FOUND: day " << iDaySel << endl;
35 // cout << _iDayFirst[i] << " " << _iDayLast[i] << endl;
36 // cout << _p0sel << " " << _p1sel << " " << _p2sel << " " << _p3sel << endl;
37 found = true;
38 break;
39 }
40 }
41
42 if (!found)
43 return 0;
44
45 if (chi2 > _p0sel + _p1sel * pow(etaMod, _p2sel) * (1. + pow(_p3sel * etaMod, 2))) {
46 return 0;
47 }
48
49 return CUTOK;
50
51 }

  ViewVC Help
Powered by ViewVC 1.1.23