28 template<
typename Tagger_>
34 template<
typename Class_>
37 return typeid(Tagger_).hash_code() ==
typeid(Class_).hash_code();
42 void TagLoop(
Phase phase)
override 47 for (
auto &file : this->
Files(phase.
Tag())) FileLoop({phase, file, file_writer, tagger_});
58 auto threads = std::vector<std::thread> {};
61 for (
auto core :
IntegerRange(cores)) threads.emplace_back([&] {
62 Thread({files, TrainNumberMax(), cores, core + 1});
64 for (
auto &thread : threads) thread.join();
71 }, [&](
Event const & event) {
76 void RunSignificance()
override 81 plotting.OptimalCuts();
84 void RunEfficiency()
override 89 plotting.TaggingEfficiency();
92 void RunPlots()
override 103 void RunPlotHist()
override 108 plotting.RunPlotHist();
111 void RunCut()
override 118 plotting.OptimalCuts();
121 Tagger_ &
Tagger()
override 126 Tagger_
const &
Tagger()
const override
decltype(auto) IntegerRange(Integer last)
Definition: Types.hh:18
Stage
The stage of the multivariant tagging process.
Definition: Stage.hh:15
std::vector< boca::FileInfo > Files(Tag tag)
Definition: Base.cpp:71
Base for all analyses.
Definition: Base.hh:58
virtual void SetFiles(Phase const &phase)=0
void ClearFiles()
Definition: Base.cpp:172
bool TaggerIs() const
Definition: Analysis.hh:35
Definition: Plotting.hh:11
virtual bool PassPreCut(Event const &) const
Definition: Base.cpp:253
bool Exists(std::string const &name)
Definition: Io.cpp:10
boca::PreCuts PreCuts() const
Definition: Base.cpp:130
Definition: FileWriter.hh:10
Base class for the event Topology.
Definition: Event.hh:53
provides main analysis loops and logic.
Definition: Analysis.hh:29
virtual long EventNumberMax(Stage stage) const
Definition: Base.cpp:244
Boosted Collider Analysis.
Definition: Analysis.hh:15
void PrepareFiles(Stage stage)
Definition: Base.cpp:77
Tagger base class using Branch template
Definition: Tagger.hh:23
void RunTrainer()
Definition: Base.cpp:193
virtual long TrainNumberMax() const
Definition: Base.cpp:85
The phases of the multivariant tagging process.
Definition: Phase.hh:16
boca::Tag Tag() const
The Tag of the multivariant tagging process.
Definition: Phase.cpp:18
void RunTagger(Stage stage)
Definition: Base.cpp:186
void ReadEvents(PreCuts const &pre_cuts, std::function< long(Stage)> const &event_number_max, std::function< bool(boca::Event const &)> const &pass_pre_cut)
Definition: Data.hh:30