NAIA  1.1.1
testReadNtp.cpp
Go to the documentation of this file.
1 // dependencies headers
2 #include "fmt/ranges.h"
3 #include "spdlog/sinks/stdout_color_sinks.h"
4 #include "spdlog/spdlog.h"
5 
6 // NAIA headers
7 #include "Chain/NAIAChain.h"
8 
9 using namespace NAIA;
10 
11 int main(int argc, char const *argv[]) {
13  chain.Add("test.root");
14  // chain.Add("skimmed.root");
15 
16  chain.SetupBranches();
17 
18  spdlog::info("{} entries in the chain", chain.GetEntries());
19 
20  auto handle1 = chain.CreateSkimTree("skimmed.root", "RichBase;RichPlus");
21 
22  unsigned long long nEntries = chain.GetEntries();
23  // unsigned long long nEntries = 1;
24 
25  unsigned long long skimmedEntries = 0;
26 
27  // auto firstEvent = chain.GetEvent(0);
28 
29  // std::vector<unsigned long long> evList = {0, 1, 0, 1, 2, 1, 3, 1};
30 
31  // for (auto iEv : evList) {
32  // for (unsigned long long iEv = 0; iEv < nEntries; iEv++) {
33  // auto &event = chain.GetEvent(iEv);
34  for (auto &event : chain) {
35 
36  // if (!event.CheckMask(NAIA::Category::HasEcal))
37  // continue;
38 
39  spdlog::info("Entry {} - Mask {}", event.header->EventNo, to_string_binary<32>(event.header->Mask()));
40 
41  // const RTIInfo &rtiInfo = chain.GetEventRTIInfo();
42  // if (rtiInfo.IsInSAA())
43  // continue;
44 
45  // float tofCharge, innerCharge, rigidity;
46 
47  // if (KeyExists(Tof::ChargeType::Upper, event.tofBase->Charge))
48  // tofCharge = event.tofBase->Charge[Tof::ChargeType::Upper];
49 
50  // innerCharge = event.trTrackBase->Charge[TrTrack::ChargeRecoType::YJ];
51 
52  auto pattern = event.trTrackBase->GetTrackPattern();
53  for (auto hit_type : pattern) {
54  switch (hit_type.second) {
56  fmt::print("{} None\n", hit_type.first);
57  break;
59  fmt::print("{} Y-only\n", hit_type.first);
60  break;
62  fmt::print("{} XY\n", hit_type.first);
63  break;
64  }
65  }
66 
67  event.trTrackPlus->Dump();
68 
69  // if (event.trTrackBase->FitIDExists(TrTrack::Fit::Kalman, TrTrack::Span::InnerOnly))
70  // rigidity = event.trTrackBase->Rigidity[TrTrack::Fit::Kalman][TrTrack::Span::InnerOnly];
71 
72  // chain.GetEventFileInfo().Dump();
73  // chain.GetEventRTIInfo().Dump();
74  // auto rtiInfo = chain.GetEventRTIInfo();
75  // fmt::print("{}\n{}\n", rtiInfo.nEventInnerL1L9, rtiInfo.nEventInnerL1L9Int90);
76 
77  // event.header->Dump();
78  // event.evSummary->Dump();
79 
80  // event.mcTruthBase->Dump();
81  // event.mcTruthPlus->Dump();
82 
83  // event.tofBaseSt->Dump();
84  // event.tofPlusSt->Dump();
85  // event.trdKBaseSt->Dump();
86  // event.extHitBase->Dump();
87 
88  // event.tofBase->Dump();
89  // event.tofPlus->Dump();
90 
91  // event.trdKBase->Dump();
92 
93  // event.trTrackBase->Dump();
94  // event.trTrackPlus->Dump();
95  // auto x_pattern = event.trTrackNase->GetTrackPattern(TrTrack::Side::X);
96  // auto y_pattern = event.trTrackNase->GetTrackPattern(TrTrack::Side::Y);
97  //
98  // spdlog::info("X: {} Y: {}", x_pattern.to_string(), y_pattern.to_string());
99 
100  // event.ecalBase->Dump();
101  // event.ecalPlus->Dump();
102 
103  // event.richBase->Dump();
104  // event.richPlus->Dump();
105 
106  // if (event.CheckMask(NAIA::Category::ChargeGT2_Trk)) {
107  // handle1.Fill();
108  // skimmedEntries++;
109  // }
110 
111  // std::cin.get();
112  }
113 
114  spdlog::info("We skimmed {} entries", skimmedEntries);
115 
116  // handle1.Write();
117 
118  return 0;
119 }
NAIAChain.h
NAIAChain class description.
main
int main(int argc, char const *argv[])
Definition: testReadNtp.cpp:11
NAIA::NAIAChain::AccessMode::Read
@ Read
NAIA::NAIAChain::GetEntries
unsigned long int GetEntries()
Get the total number of events.
Definition: NAIAChain.cpp:178
NAIA
Definition: Event.h:13
NAIA::NAIAChain
Definition: NAIAChain.h:31
NAIA::HitClusterAssociation::Y
@ Y
NAIA::NAIAChain::Add
int Add(const std::string &filePath)
Add a file to the chain.
Definition: NAIAChain.cpp:127
NAIA::HitClusterAssociation::None
@ None
NAIA::NAIAChain::CreateSkimTree
SkimTreeHandle< NAIAChain > CreateSkimTree(const std::string &filename, const std::string &exclBranches)
Create a new SkimTree handle object and setup all internal branches.
Definition: NAIAChain.cpp:278
NAIA::HitClusterAssociation::XY
@ XY
NAIA::NAIAChain::SetupBranches
void SetupBranches(bool create_MC_branches=false)
Set all branch addresses for reading operations, or create all branches for writing operation.
Definition: NAIAChain.cpp:227