Loading [MathJax]/extensions/tex2jax.js
Iguana 0.8.0
Implementation Guardian of Analysis Algorithms
Validator.h
1#pragma once
2
4#include "iguana/algorithms/Validator.h"
5#include "Algorithm.h"
6#include "iguana/algorithms/clas12/EventBuilderFilter/Algorithm.h"
7#include "iguana/algorithms/clas12/TrajLinker/Algorithm.h"
8#include "iguana/algorithms/clas12/CalorimeterLinker/Algorithm.h"
9
10#include <TCanvas.h>
11#include <TFile.h>
12#include <TH2.h>
13
14namespace iguana::clas12 {
15
18 {
19
21
22 public:
23
24 void Start(hipo::banklist& banks) override;
25 void Run(hipo::banklist& banks) const override;
26 void Stop() override;
27
28 private:
29
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}
#define DEFINE_IGUANA_VALIDATOR(VDOR_NAME, VDOR_FULL_NAME)
common objects used in algorithms
Validator(std::string_view name="validator")
Definition Validator.h:27
Algorithm: Link particle bank to bank REC::Calorimeter
Definition Algorithm.h:21
Algorithm: Filter the REC::Particle (or similar) bank by PID from the Event Builder
Definition Algorithm.h:18
iguana::clas12::FiducialFilter validator
Definition Validator.h:18
void Stop() override
Finalize this algorithm after all events are processed.
void Start(hipo::banklist &banks) override
Initialize this algorithm before any events are processed, with the intent to process banks
void Run(hipo::banklist &banks) const override
Run this algorithm for an event.
Algorithm: Filter the REC::Particle bank by applying DC (drift chamber) and ECAL (electromagnetic cal...
Definition Algorithm.h:29
Algorithm: Link particle bank to bank REC::Traj
Definition Algorithm.h:21
CLAS12 algorithms.
Definition Algorithm.h:5