LDMX Software
FiducialFlag.cxx
2
3ClassImp(ldmx::FiducialFlag)
4
5 namespace ldmx {
7
8 void FiducialFlag::Print() const {
9 std::cout << "FiducialFlag { "
10 << "fiducialFlag: " << fiducial_flag_ << ", "
11 << "isFiducial: " << is_fiducial_ << ", "
12 << "hasEcalHit: " << has_ecal_hit_ << ", "
13 << "hasHcalHit: " << has_hcal_hit_ << ", "
14 << "hasMinTrackerHits: " << has_min_tracker_hits_ << ", "
15 << "hasMinEnergy: " << has_min_energy_ << " }" << std::endl;
16
17 for (int i = 0; i < variables_.GetSize(); ++i) {
18 std::cout << "Element " << i << " : " << variables_[i] << std::endl;
19 }
20 }
21
22 void FiducialFlag::Clear() {
23 fiducial_flag_ = 0;
24 is_fiducial_ = false;
25 has_ecal_hit_ = false;
26 has_hcal_hit_ = false;
27 has_min_tracker_hits_ = false;
28 has_min_energy_ = false;
29
30 for (int i = 0; i < variables_.GetSize(); ++i) {
31 variables_[i] = 0;
32 }
33 }
34
35 void FiducialFlag::setFiducialFlag(int fiducial_flag, int nvar) {
36 fiducial_flag_ = fiducial_flag;
37
38 if (nvar > variables_.GetSize()) {
39 variables_.Set(nvar);
40 }
41 }
42
43 void FiducialFlag::setAlgoVar(int element, double value) {
44 if (element >= 0 && element < variables_.GetSize()) {
45 variables_[element] = value;
46 }
47 }
48} // namespace ldmx
Class that holds truth-level fiduciality flags on the signal recoil electron.
Holds truth-level fiduciality flags on the signal recoil electron.
void Print() const
Print a description of this object.
void setAlgoVar(int element, double value)
Set an algorithm variable.
void Clear()
Reset the FiducialFlag object.
FiducialFlag()
Class constructor.
void setFiducialFlag(int fiducial_flag, int nvar)
Set fiduciality bit mask.