GCC Code Coverage Report


Directory: ./
File: src/iguana/algorithms/clas12/FiducialFilter/Validator.h
Date: 2025-05-30 18:32:38
Exec Total Coverage
Lines: 1 1 100.0%
Functions: 4 4 100.0%
Branches: 8 18 44.4%

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