GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 4 / 0 / 4
Functions: 100.0% 3 / 0 / 3
Branches: 44.4% 8 / 0 / 18

src/iguana/algorithms/clas12/ZVertexFilter/Validator.h
Line Branch Exec Source
1 #pragma once
2
3 #include "iguana/algorithms/TypeDefs.h"
4 #include "iguana/algorithms/Validator.h"
5
6 #include <TFile.h>
7 #include <TH1.h>
8
9 namespace iguana::clas12 {
10
11 /// @brief `iguana::clas12::ZVertexFilter` validator
12 class ZVertexFilterValidator : public Validator
13 {
14
15
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 → 50 not taken.
✓ Branch 18 → 19 taken 1 time.
✗ Branch 18 → 46 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.
10 DEFINE_IGUANA_VALIDATOR(ZVertexFilterValidator, clas12::ZVertexFilterValidator)
16
17 private: // hooks
18 void StartHook(hipo::banklist& banks) override;
19 bool RunHook(hipo::banklist& banks) const override;
20 void StopHook() override;
21
22 private:
23
24 hipo::banklist::size_type b_particle;
25
26 // add pdgs not to cut to check we're
27 // only cutting on right particles
28 std::vector<int> const u_pdg_list = {
29 particle::PDG::electron,
30 particle::PDG::pi_plus,
31 particle::PDG::pi_minus,
32 particle::PDG::proton,
33 particle::PDG::neutron};
34
35 TString m_output_file_basename;
36 TFile* m_output_file;
37 mutable std::unordered_map<int, std::vector<TH1D*>> u_zvertexplots;
38 };
39
40 }
41