1 |
/* |
2 |
* TrackRedGeomCut.cpp |
3 |
* |
4 |
* Created on: 30-nov-2009 |
5 |
* Author: Sergio Ricciarini |
6 |
*/ |
7 |
|
8 |
/*! @file TrackRedGeomCut.cpp The TrackRedGeomCut class implementation file */ |
9 |
|
10 |
#include "TrackRedGeomCut.h" |
11 |
|
12 |
int TrackRedGeomCut::Check(PamLevel2 *event) { |
13 |
|
14 |
if ( (!(_xCaloAxis) || !(_yCaloAxis)) && !(_pamTrack) ) { // check that one of the two possible initializations has been correctly done |
15 |
return 0; |
16 |
} |
17 |
|
18 |
if (!(_pamTrack)) { // CALOAXIS track |
19 |
|
20 |
Double_t xCaloTrack; |
21 |
Double_t yCaloTrack; |
22 |
|
23 |
for (Int_t igf = 0; igf < TrkParams::nGF; igf++) { |
24 |
xCaloTrack = _xCaloAxis->par[0] + (_xCaloAxis->par[1]) * TrkParams::zGF[igf]; // cm |
25 |
if (! (- _xDim/2. < xCaloTrack && xCaloTrack < _xDim/2.) ) { |
26 |
return 0; |
27 |
} |
28 |
|
29 |
yCaloTrack = _yCaloAxis->par[0] + (_yCaloAxis->par[1]) * TrkParams::zGF[igf]; // cm |
30 |
if (! (- _yDim/2. < yCaloTrack && yCaloTrack < _yDim/2.) ) { |
31 |
return 0; |
32 |
} |
33 |
} |
34 |
|
35 |
} |
36 |
|
37 |
if (_pamTrack) { // PAMELA track |
38 |
|
39 |
TrkTrack *trkTrack = event->GetTrack(0)->GetTrkTrack(); |
40 |
|
41 |
for (int igf = 0; igf < TrkParams::nGF; igf++) { // loop on GF planes |
42 |
|
43 |
// check done for all 14 planes |
44 |
if (!(- _xDim/2. < trkTrack->xGF[igf] && trkTrack->xGF[igf] < _xDim/2.)) |
45 |
return 0; |
46 |
if (!(- _yDim/2. < trkTrack->yGF[igf] && trkTrack->yGF[igf] < _yDim/2.)) |
47 |
return 0; |
48 |
|
49 |
} // end loop on GF planes |
50 |
|
51 |
} |
52 |
|
53 |
return CUTOK; |
54 |
|
55 |
} |