|
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef FPGATrackSimGenScanMonitoring_H
4 #define FPGATrackSimGenScanMonitoring_H
19 #include "GaudiKernel/ServiceHandle.h"
20 #include "GaudiKernel/ITHistSvc.h"
50 double rin,
double rout);
70 const std::vector<std::vector<const FPGATrackSimGenScanTool::StoredHit *> >& hitsByLayer);
71 void fillPairingHits(std::vector<const FPGATrackSimGenScanTool::StoredHit *>
const *lastlyr,
72 std::vector<const FPGATrackSimGenScanTool::StoredHit *>
const *lastlastlyr);
91 const std::pair<unsigned, unsigned>& rowRange,
const FPGATrackSimHit* hit);
94 void sliceCheck(
const std::vector<unsigned>& sliceidx);
97 bool passedPairFilter);
100 const std::vector<FPGATrackSimGenScanTool::HitPairSet> &pairsets,
110 Gaudi::Property<std::string>
m_dir{
this,
"dir", {
"/GENSCAN/"},
"String name of output directory"};
212 "",
"_same",
"_sequential",
"_sameend",
"_skip1",
"_skip2",
"_nm1"};
252 void addEvent(
const std::vector<std::shared_ptr<const FPGATrackSimHit>> &
hits);
253 void addEvent(
const std::vector<FPGATrackSimGenScanTool::StoredHit> &
hits);
254 void addEvent(
const std::vector<const FPGATrackSimGenScanTool::StoredHit *> &
hits);
278 template <
typename HistType,
typename... HistDef>
281 ptr =
new HistType(histargs...);
283 return StatusCode::SUCCESS;
287 template <
typename HistType,
typename... HistDef>
291 for (
unsigned i = 0;
i < len;
i++) {
293 std::string
name = std::string(namebase);
297 if (namevec->size()==len) {
298 name += (*namevec)[
i];
300 return StatusCode::FAILURE;
307 return StatusCode::SUCCESS;
315 #endif // FPGATrackSimGenScanMonitoring_H
TH1D * m_truthpars_hists[5]
void parseTruthInfo(std::vector< FPGATrackSimTruthTrack > const *truthtracks, bool isSingleParticle, const FPGATrackSimGenScanArray< int > &validBin)
void fillOutputSummary(const FPGATrackSimGenScanArray< int > &validSlice, const FPGATrackSimGenScanArray< int > &validSliceAndScan)
TH1D * m_phiInExtrapCurveLimit
void fillBuildGroupsWithPairs(const std::vector< FPGATrackSimGenScanTool::IntermediateState > &states, unsigned allowed_misses)
std::vector< FPGATrackSimTruthTrack > const * m_truthtracks
char data[hepevt_bytes_allocation_ATLAS]
FPGATrackSimGenScanArray< int > m_inputhitsperrow
void pairFilterCheck(const FPGATrackSimGenScanTool::HitPairSet &pairs, const FPGATrackSimGenScanTool::HitPairSet &filteredpairs, bool passedPairFilter)
TGraph * initGraph(const std::string &name)
eventDispSet m_lostPairSetFilterGraph
std::vector< TH1D * > m_deltaEtaByLyr
TH1D * m_outputRoadsPerRow
Gaudi::Property< std::string > m_dir
TH1D * m_phiOutExtrapCurveLimit
std::vector< TH1D * > m_phiTrueBinShift
std::vector< TH1D * > m_phiCurvature
std::vector< TH1D * > m_etaResidual
StatusCode regGraph(TGraph *g) const
StatusCode makeAndRegHist(HistType *&ptr, HistDef... histargs)
eventDispSet m_lostPairFilterGraph
FPGATrackSimGenScanArray< int > m_outputroadsperrow
void allocateDataFlowCounters()
std::vector< TH1D * > m_pairSetMatchEta
TH1D * m_hitsLoadedPerLayer
void setBinPlotsActive(const FPGATrackSimGenScanBinningBase::IdxSet &idx)
StatusCode makeAndRegHistVector(std::vector< HistType * > &vec, unsigned len, const std::vector< std::string > *namevec, const char *namebase, HistDef... histargs)
StatusCode registerGraphs(FPGATrackSimGenScanMonitoring *parent)
std::vector< size_t > vec
void incrementInputPerScan(const FPGATrackSimGenScanBinningBase::IdxSet &idx, const std::pair< unsigned, unsigned > &rowRange, const FPGATrackSimHit *hit)
void resetDataFlowCounters()
std::vector< TH2D * > m_rZ_allhits
std::vector< TH1D * > m_etaCurvature
std::vector< TH1D * > m_phiCurvatureMax
std::vector< TH1D * > m_phiInExtrapCurved
std::vector< TGraph * > m_xY
ServiceHandle< ITHistSvc > m_tHistSvc
Binning Classes for GenScanTool.
eventDispSet(std::string name, int maxevts)
std::vector< TH1D * > m_etaCurvatureMax
virtual StatusCode initialize() override
const std::string dir() const
FPGATrackSimGenScanBinningBase::IdxSet m_truthbin
FPGATrackSimGenScanArray< int > m_inputhitsperslice
void addEvent(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits)
std::vector< TH1D * > m_deltaDeltaEta
void fillHitLevelInput(const FPGATrackSimHit *hit)
eventDispSet m_allHitsGraph
std::vector< TH1D * > m_etaTrueBinShift
std::vector< TH1D * > m_phiResidual
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< TGraph * > m_rZ
TH1D * m_inputHitsPerSlice
std::vector< unsigned > m_hitsCntByLayer
void fillPairSetFilterCut(std::vector< TH1D * > &histset, double val, const FPGATrackSimGenScanTool::HitPair &pair, const FPGATrackSimGenScanTool::HitPair &lastpair, bool nminus1)
std::vector< TH1D * > m_pairSetMatchPhi
TH1D * m_outputHitsPerRow
FPGATrackSimGenScanBinningBase::ParSet m_truthparset
bool isSingleParticle(const T &p)
Identify a particlegun particle.
void incrementInputPerSlice(const std::vector< unsigned > &sliceidx)
TH1D * m_outputHitsPerBin
std::vector< TH1D * > m_phiOutExtrapCurved
FPGATrackSimTrackPars m_truthpars
std::string to_string(const DetectorType &type)
unsigned pairpairCategory(const FPGATrackSimGenScanTool::HitPair &pair, const FPGATrackSimGenScanTool::HitPair &lastpair) const
eventDispSet m_passPairFilterGraph
: FPGATrackSim-specific class to represent an hit in the detector.
void AddPoint(TGraph *g, double x, double y)
void fillPairingHits(std::vector< const FPGATrackSimGenScanTool::StoredHit * > const *lastlyr, std::vector< const FPGATrackSimGenScanTool::StoredHit * > const *lastlastlyr)
StatusCode registerHistograms(unsigned nLayers, const FPGATrackSimGenScanBinningBase *binning, double rin, double rout)
eventDispSet m_passPairSetFilterGraph
StatusCode registerGraphs()
void fillInputSummary(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits, const FPGATrackSimGenScanArray< int > &validSlice, const FPGATrackSimGenScanArray< int > &validScan)
std::vector< TH1D * > m_deltaPhiByLyr
std::vector< TGraph * > m_rEta
std::vector< TGraph * > m_rPhi
std::vector< TH1D * > m_deltaEtaCurvature
const FPGATrackSimGenScanBinningBase * m_binning
FPGATrackSimGenScanArray< int > m_outputhitsperrow
void fillBinLevelOutput(const FPGATrackSimGenScanBinningBase::IdxSet &idx, const FPGATrackSimGenScanTool::BinEntry &data, const std::vector< std::vector< const FPGATrackSimGenScanTool::StoredHit * > > &hitsByLayer)
FPGATrackSimGenScanArray< int > m_outputhitsperslice
void sliceCheck(const std::vector< unsigned > &sliceidx)
FPGATrackSimGenScanMonitoring(const std::string &, const std::string &, const IInterface *)
static const std::vector< std::string > m_twoPairClasses
void pairSetFilterCheck(const FPGATrackSimGenScanTool::HitPairSet &filteredpairs, const std::vector< FPGATrackSimGenScanTool::HitPairSet > &pairsets, unsigned threshold)
std::vector< TH1D * > m_deltaPhiCurvature
void fillPairFilterCuts(const FPGATrackSimGenScanTool::HitPair &pair)
std::vector< TH1D * > m_deltaDeltaPhi
TH1D * m_outputHitsPerSlice
Structs that store the 5 track parameters.
TH2D * m_hitsPerLayer_road