| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "Algorithm.h" | ||
| 4 | #include "iguana/algorithms/TypeDefs.h" | ||
| 5 | #include "iguana/algorithms/Validator.h" | ||
| 6 | #include "iguana/algorithms/clas12/CalorimeterLinker/Algorithm.h" | ||
| 7 | #include "iguana/algorithms/clas12/EventBuilderFilter/Algorithm.h" | ||
| 8 | #include "iguana/algorithms/clas12/TrajLinker/Algorithm.h" | ||
| 9 | |||
| 10 | #include <TCanvas.h> | ||
| 11 | #include <TFile.h> | ||
| 12 | #include <TH2.h> | ||
| 13 | |||
| 14 | namespace iguana::clas12::rga { | ||
| 15 | |||
| 16 | /// @brief `iguana::clas12::rga::FiducialFilterPass1` validator | ||
| 17 | class FiducialFilterPass1Validator : public Validator | ||
| 18 | { | ||
| 19 | |||
| 20 |
12/26✓ Branch 2 → 3 taken 1 time.
✗ Branch 2 → 6 not taken.
✗ Branch 5 → 7 not taken.
✓ Branch 5 → 8 taken 1 time.
✓ Branch 9 → 10 taken 1 time.
✗ Branch 9 → 38 not taken.
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 17 not taken.
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 72 not taken.
✓ Branch 18 → 19 taken 1 time.
✗ Branch 18 → 70 not taken.
✓ Branch 19 → 20 taken 1 time.
✗ Branch 19 → 68 not taken.
✓ Branch 20 → 21 taken 1 time.
✗ Branch 20 → 66 not taken.
✓ Branch 21 → 22 taken 1 time.
✗ Branch 21 → 64 not taken.
✓ Branch 22 → 23 taken 1 time.
✗ Branch 22 → 60 not taken.
✓ Branch 23 → 24 taken 1 time.
✗ Branch 23 → 46 not taken.
✓ Branch 30 → 31 taken 1 time.
✗ Branch 30 → 46 not taken.
✗ Branch 38 → 39 not taken.
✗ Branch 38 → 45 not taken.
|
11 | DEFINE_IGUANA_VALIDATOR(FiducialFilterPass1Validator, clas12::rga::FiducialFilterPass1Validator) |
| 21 | |||
| 22 | public: | ||
| 23 | |||
| 24 | void Start(hipo::banklist& banks) override; | ||
| 25 | bool Run(hipo::banklist& banks) const override; | ||
| 26 | void Stop() override; | ||
| 27 | |||
| 28 | private: | ||
| 29 | |||
| 30 | iguana::clas12::EventBuilderFilter m_algo_eb; | ||
| 31 | iguana::clas12::TrajLinker m_algo_traj; | ||
| 32 | iguana::clas12::CalorimeterLinker m_algo_cal; | ||
| 33 | iguana::clas12::rga::FiducialFilterPass1 m_algo_fidu; | ||
| 34 | |||
| 35 | hipo::banklist::size_type b_particle; | ||
| 36 | hipo::banklist::size_type b_traj; | ||
| 37 | hipo::banklist::size_type b_cal; | ||
| 38 | |||
| 39 | double const DC1xleft = -200; | ||
| 40 | double const DC1xright = 200; | ||
| 41 | double const DC1ybottom = -200; | ||
| 42 | double const DC1ytop = 200; | ||
| 43 | double const DC2xleft = -200; | ||
| 44 | double const DC2xright = 200; | ||
| 45 | double const DC2ybottom = -200; | ||
| 46 | double const DC2ytop = 200; | ||
| 47 | double const DC3xleft = -200; | ||
| 48 | double const DC3xright = 200; | ||
| 49 | double const DC3ybottom = -200; | ||
| 50 | double const DC3ytop = 200; | ||
| 51 | |||
| 52 | std::vector<int> const u_pdg_list = { | ||
| 53 | particle::PDG::electron, | ||
| 54 | particle::PDG::pi_plus, | ||
| 55 | particle::PDG::pi_minus, | ||
| 56 | particle::PDG::proton}; | ||
| 57 | |||
| 58 | TString m_output_file_basename; | ||
| 59 | TFile* m_output_file; | ||
| 60 | mutable std::unordered_map<int, TH2D*> u_DC1_before; | ||
| 61 | mutable std::unordered_map<int, TH2D*> u_DC2_before; | ||
| 62 | mutable std::unordered_map<int, TH2D*> u_DC3_before; | ||
| 63 | |||
| 64 | mutable std::unordered_map<int, TH2D*> u_DC1_after; | ||
| 65 | mutable std::unordered_map<int, TH2D*> u_DC2_after; | ||
| 66 | mutable std::unordered_map<int, TH2D*> u_DC3_after; | ||
| 67 | }; | ||
| 68 | |||
| 69 | } | ||
| 70 |