GCC Code Coverage Report


Directory: ./
File: src/iguana/algorithms/clas12/PhotonGBTFilter/Validator.h
Date: 2025-11-25 17:57:04
Coverage Exec Excl Total
Lines: 100.0% 4 0 4
Functions: 100.0% 3 0 3
Branches: 44.4% 8 0 18

Line Branch Exec Source
1 #pragma once
2
3 #include "iguana/algorithms/TypeDefs.h"
4 #include "iguana/algorithms/Validator.h"
5 #include <Math/Vector4D.h>
6 #include <TCanvas.h>
7 #include <TFile.h>
8 #include <TH1F.h>
9 #include <map>
10
11 namespace iguana::clas12 {
12
13 /// @brief `iguana::clas12::PhotonGBTFilter` validator
14 class PhotonGBTFilterValidator : public Validator
15 {
16
17
8/18
✓ 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 → 34 not taken.
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 17 not taken.
✓ Branch 17 → 18 taken 1 time.
✗ Branch 17 → 56 not taken.
✓ Branch 18 → 19 taken 1 time.
✗ Branch 18 → 52 not taken.
✓ Branch 19 → 20 taken 1 time.
✗ Branch 19 → 42 not taken.
✓ Branch 26 → 27 taken 1 time.
✗ Branch 26 → 42 not taken.
✗ Branch 34 → 35 not taken.
✗ Branch 34 → 41 not taken.
11 DEFINE_IGUANA_VALIDATOR(PhotonGBTFilterValidator, clas12::PhotonGBTFilterValidator)
18
19 public:
20
21 void Start(hipo::banklist& banks) override;
22 bool Run(hipo::banklist& banks) const override;
23 void Stop() override;
24
25 private:
26
27 void FillHistograms(std::vector<ROOT::Math::PxPyPzEVector> const& photons, int idx) const;
28 void InitializeHistograms();
29 void ConfigureHistogram(TH1F* hist, int color);
30
31 hipo::banklist::size_type b_particle;
32
33 std::vector<int> const u_pdg_list = {
34 particle::PDG::electron,
35 particle::PDG::photon};
36
37 TString m_output_file_basename;
38 TFile* m_output_file;
39
40
41 std::map<int, TH1F*> h_Mgg;
42 std::map<int, TH1F*> h_P;
43 std::map<int, TH1F*> h_Th;
44 std::map<int, TH1F*> h_Phi;
45 };
46
47 }
48