HighLAND
highland2
highlandUtils
v2r10
src
HighlandConstituentsUtils.cxx
1
#include "HighlandAnalysisUtils.hxx"
2
#include <stdio.h>
3
#include <math.h>
4
5
6
//**************************************************
7
int
anaUtils::GetAllTracksUsingDet
(
const
AnaBunchB
& bunch,
SubDetId::SubDetEnum
det,
AnaTrackB
* selTracks[]) {
8
//**************************************************
9
10
int
count = 0;
11
for
(
unsigned
int
it = 0; it < bunch.
Particles
.size(); it++) {
12
AnaTrackB
* track =
static_cast<
AnaTrackB
*
>
(bunch.
Particles
[it]);
13
if
(
anaUtils::TrackUsesDet
(*track, det)) {
14
selTracks[count] = track;
15
count++;
16
}
17
}
18
19
return
count;
20
}
21
22
23
//**************************************************
24
int
anaUtils::GetAllTracksUsingOnlyDet
(
const
AnaBunchB
& bunch,
SubDetId::SubDetEnum
det,
AnaTrackB
* selTracks[]) {
25
//**************************************************
26
27
int
count = 0;
28
29
for
(
unsigned
int
it = 0; it < bunch.
Particles
.size(); it++) {
30
AnaTrackB
* track =
static_cast<
AnaTrackB
*
>
(bunch.
Particles
[it]);
31
if
(
anaUtils::TrackUsesOnlyDet
(*track, det)) {
32
selTracks[count] = track;
33
++count;
34
}
35
}
36
37
return
count;
38
}
39
40
41
//**************************************************
42
int
anaUtils::GetAllTracksUsingFGDAndNoTPC
(
const
AnaBunchB
& bunch,
AnaTrackB
* selTracks[]) {
43
//**************************************************
44
45
int
count = 0;
46
for
(
unsigned
int
it = 0; it < bunch.
Particles
.size(); it++) {
47
AnaTrackB
* track =
static_cast<
AnaTrackB
*
>
(bunch.
Particles
[it]);
48
if
(!
anaUtils::TrackUsesDet
(*track, SubDetId::kTPC) &&
anaUtils::TrackUsesDet
(*track, SubDetId::kFGD)) {
49
selTracks[count] = track;
50
++count;
51
}
52
}
53
54
// Sort by decreasing number of hits
55
std::sort(&selTracks[0], &selTracks[count],
AnaParticleB::CompareNHits
);
56
57
return
count;
58
}
59
60
61
//**************************************************
62
int
anaUtils::GetAllTracksUsingFGDorTPC
(
const
AnaBunchB
& bunch,
AnaTrackB
* selTracks[]) {
63
//**************************************************
64
65
int
count = 0;
66
for
(
unsigned
int
it = 0; it < bunch.
Particles
.size(); it++) {
67
AnaTrackB
* track =
static_cast<
AnaTrackB
*
>
(bunch.
Particles
[it]);
68
if
( ! (
anaUtils::TrackUsesDet
(*track, SubDetId::kTPC) ||
anaUtils::TrackUsesDet
(*track, SubDetId::kFGD))) {
69
selTracks[count] = track;
70
++count;
71
}
72
}
73
74
return
count;
75
}
76
77
78
anaUtils::GetAllTracksUsingOnlyDet
int GetAllTracksUsingOnlyDet(const AnaBunchB &bunch, SubDetId::SubDetEnum det, AnaTrackB *selTracks[])
Definition:
HighlandConstituentsUtils.cxx:24
AnaParticleB::CompareNHits
static bool CompareNHits(const AnaParticleB *t1, const AnaParticleB *t2)
Compare the NHits of two particles. Return whether t1 is higher NHts than t2.
Definition:
BaseDataClasses.cxx:280
anaUtils::TrackUsesDet
bool TrackUsesDet(const AnaTrackB &track, SubDetId::SubDetEnum det)
Definition:
SubDetUtils.cxx:113
anaUtils::GetAllTracksUsingFGDorTPC
int GetAllTracksUsingFGDorTPC(const AnaBunchB &bunch, AnaTrackB *selTracks[])
Definition:
HighlandConstituentsUtils.cxx:62
SubDetId::SubDetEnum
SubDetEnum
Enumeration of all detector systems and subdetectors.
Definition:
SubDetId.hxx:25
anaUtils::GetAllTracksUsingFGDAndNoTPC
int GetAllTracksUsingFGDAndNoTPC(const AnaBunchB &bunch, AnaTrackB *selTracks[])
Definition:
HighlandConstituentsUtils.cxx:42
AnaTrackB
Representation of a global track.
Definition:
BaseDataClasses.hxx:603
AnaBunchB
Definition:
BaseDataClasses.hxx:845
AnaBunchB::Particles
std::vector< AnaParticleB * > Particles
Definition:
BaseDataClasses.hxx:878
anaUtils::GetAllTracksUsingDet
int GetAllTracksUsingDet(const AnaBunchB &bunch, SubDetId::SubDetEnum det, AnaTrackB *selTracks[])
Definition:
HighlandConstituentsUtils.cxx:7
anaUtils::TrackUsesOnlyDet
bool TrackUsesOnlyDet(const AnaTrackB &track, SubDetId::SubDetEnum det)
Definition:
SubDetUtils.cxx:125
Generated by
1.8.13