3 #include <FairLogger.h>
4 #include <FairRootManager.h>
6 #include <TCollection.h>
17 : fFile(TFile::Open(treeFile)), fReader(treeName, fFile.get()), fMusic(fReader,
"MUSIC"), fUsMcp(fReader,
"USMCP"),
18 fDsMcp(fReader,
"DSMCP"), fCutFile(TFile::Open(cutFile))
20 if (fReader.GetTree() ==
nullptr)
21 LOG(fatal) <<
"Could not find " << treeName <<
" in " << treeFile;
22 if (fCutFile ==
nullptr)
23 LOG(fatal) <<
"Could not find cut file " << cutFile;
27 : fFile(nullptr), fReader(tree), fMusic(fReader,
"MUSIC"), fUsMcp(fReader,
"USMCP"), fDsMcp(fReader,
"DSMCP"),
28 fCutFile(TFile::Open(cutFile))
30 if (fReader.GetTree() ==
nullptr)
31 LOG(fatal) <<
"Passed tree is null!";
32 if (fCutFile ==
nullptr)
33 LOG(fatal) <<
"Could not find cut file " << cutFile;
43 if (fSpecies.find(species) != fSpecies.end())
46 auto *cut =
static_cast<TCutG *
>(fCutFile->GetObjectChecked(species.data(),
"TCutG"));
48 LOG(error) <<
"Could not find cut " << species <<
" in file";
52 fSpecies[species] = cut;
62 auto keys = fCutFile->GetListOfKeys();
63 for (
auto key : *keys)
69 fReader.SetEntry(FairRootManager::Instance()->GetEntryNr());
70 auto energy = GetEnergy();
72 LOG(debug) <<
"Energy: " << energy <<
" ToF: " << tof;
74 for (
auto &[name, cut] : fSpecies) {
75 bool inCut = cut->IsInside(tof, energy);
78 LOG(info) <<
"Event is " << name;
87 fReader.SetEntry(FairRootManager::Instance()->GetEntryNr());
88 auto energy = GetEnergy();
91 for (
auto &[name, cut] : fSpecies) {
92 bool inCut = cut->IsInside(tof, energy);
101 double AtCutHEIST::GetEnergy()
104 for (
int i = 0; i < 9; ++i)
105 en += fMusic->GetEnergy(i);
109 double AtCutHEIST::GetToF()
111 if (fUsMcp->GetTimeAnode().size() > 0)
112 return fDsMcp->GetTimeAnode()[0] - fUsMcp->GetTimeAnode()[0] + 728;