3#ifndef FPGATrackSimDATAFLOWTOOL_H
4#define FPGATrackSimDATAFLOWTOOL_H
7#include "GaudiKernel/ServiceHandle.h"
8#include "GaudiKernel/ITHistSvc.h"
32 using DataFlowMap_t = std::unordered_map<std::string, T, CxxUtils::TransparentStringHash, std::equal_to<>>;
40 std::vector<FPGATrackSimCluster>
const & clusters_1st,
41 const std::vector<FPGATrackSimRoad> & roads_1st, std::vector<FPGATrackSimTrack>
const & tracks_1st,
42 const std::vector<FPGATrackSimRoad> & roads_2nd, std::vector<FPGATrackSimTrack>
const & tracks_2nd);
46 virtual StatusCode
finalize()
override;
52 StatusCode
addDataFlow(
float const n, std::string_view key,
bool const isInt =
true);
53 StatusCode
printDataFlow(std::string
const & key,
int const div = 1);
56 void findAndReplaceAll(std::string & data, std::string
const & toFind, std::string
const & replaceStr)
const;
58 double roundTo(
double const v,
int const nSigDigits)
const;
63 StatusCode
regHist (std::string
const & dir, TH1*
h) {
return m_tHistSvc->regHist (dir +
h->GetName(),
h); }
70 Gaudi::Property<bool>
m_runSecondStage {
this,
"RunSecondStage",
false,
"flag to enable running the second stage fitting"};
71 Gaudi::Property<std::string>
m_outputtag {
this,
"outputTag",
"",
"Extra string to use in output folder names - default none"};
72 Gaudi::Property<float>
m_cut_chi2ndof {
this,
"Chi2ndofCut", 40.,
"cut on Chi2 of FPGATrackSimTrack"};
Header file for AthHistogramAlgorithm.