12#ifndef ANALYSIS_CONFANALYSIS_H
13#define ANALYSIS_CONFANALYSIS_H
41inline const std::string
clean( std::string s) {
42 std::replace(s.begin(), s.end(),
':',
'_');
43 std::replace(s.begin(), s.end(),
';',
'_');
64 std::cout <<
"ConfAnalysis::ConfAnalysis() " <<
TrackAnalysis::name() <<
" ..." << std::endl;
70 std::map<std::string, TH1F*>::iterator hitr=
m_histos.begin();
71 std::map<std::string, TH1F*>::iterator hend=
m_histos.end();
72 for ( ; hitr!=hend ; ++hitr )
delete hitr->second;
74 std::map<std::string, TH2F*>::iterator hitr2D=
m_histos2D.begin();
75 std::map<std::string, TH2F*>::iterator hend2D=
m_histos2D.end();
76 for ( ; hitr2D!=hend2D ; ++hitr2D )
delete hitr2D->second;
84 virtual void execute(
const std::vector<TIDA::Track*>& reftracks,
85 const std::vector<TIDA::Track*>& testtracks,
89 virtual void execute(
const std::vector<TIDA::Track*>& reftracks,
90 const std::vector<TIDA::Track*>& testtracks,
95 virtual void execute(
const std::vector<TIDA::Track*>& reftracks,
96 const std::vector<TIDA::Track*>& testtracks,
104 virtual void execute(
const std::vector<TIDA::Track*>& reftracks,
105 const std::vector<TIDA::Track*>& testtracks,
133 std::string
name =
h->GetName();
134 m_histos.insert( std::map<std::string, TH1F*>::value_type(
name,
h) );
137 std::string
name =
h->GetName();
138 m_histos2D.insert( std::map<std::string, TH2F*>::value_type(
name,
h) );
141 TH1F*
find(
const std::string& n ) {
142 std::map<std::string, TH1F*>::iterator hmitr =
m_histos.find(n);
143 if ( hmitr!=
m_histos.end() )
return hmitr->second;
148 std::map<std::string, TH2F*>::iterator hmitr =
m_histos2D.find(n);
149 if ( hmitr!=
m_histos2D.end() )
return hmitr->second;
383 return s << ca.name();
std::ostream & operator<<(std::ostream &s, const ConfAnalysis &ca)
const std::string clean(std::string s)
emacs: this is -*- c++ -*-
TIDA::Associator< TIDA::Track > TrackAssociator
Header file for AthHistogramAlgorithm.
Efficiency1D * m_eff_roi_deta
Resplot * m_rChi2prob_rec
Efficiency1D * m_purity_phi
Resplot * m_rRoi_dzed_vs_eta
Resplot * m_rnpix_eta_rec
Efficiency1D * m_eff_vs_ntracks2
Resplot * m_rntrt_eta_rec
Efficiency1D * m_eff_vs_mu
Resplot * m_rnscth_pt_rec
ConfAnalysis(const std::string &name, const ChainString &config, TagNProbe *TnP_tool=0)
Efficiency1D * m_purity_a0
void setRoi(const TIDARoiDescriptor *roi)
Resplot * m_rnpixh_pt_rec
TH1F * m_etovpt_raw
electron specific ET/PT related stuff
Efficiency1D * m_eff_vs_lb
Efficiency1D * m_purity_pt
std::map< std::string, TH2F * > m_histos2D
Resplot * m_rnsct_phi_rec
Efficiency1D * m_eff_vs_nvtx
Efficiency2D * m_eff_eta_vs_pt
std::vector< Resplot * > m_retaresPull
int m_Nreco
number of reconstructed tracks
virtual TH1F * getHist_invmass()
std::vector< Resplot * > m_rd0resPull
virtual void execute(const std::vector< TIDA::Track * > &reftracks, const std::vector< TIDA::Track * > &testtracks, TrackAssociator *matcher, const TIDA::Event *)
void addHistogram(TH1F *h)
std::vector< Resplot * > m_rptres
TH1F * find(const std::string &n)
Efficiency1D * m_eff_vs_ntracks
bool m_initialiseFirstEvent
Efficiency1D * m_eff_vs_etovpt
virtual void execute(const std::vector< TIDA::Track * > &reftracks, const std::vector< TIDA::Track * > &testtracks, TrackAssociator *matcher, TrigObjectMatcher *objects)
const ChainString & config() const
virtual TagNProbe * getTnPtool()
std::vector< Resplot * > m_rDz0res
void setTnPtool(TagNProbe *TnP_tool)
const TIDARoiDescriptor * m_roi
virtual void execute(const std::vector< TIDA::Track * > &reftracks, const std::vector< TIDA::Track * > &testtracks, TrackAssociator *matcher)
std::vector< Resplot * > m_rzedthetares
Resplot * m_rnpix_phi_rec
Efficiency1D * m_eff_vs_mult
virtual void initialise()
book all the histograms
Resplot * m_rnsihit_eta_rec
Efficiency1D * m_eff_roi_dphi
Efficiency1D * m_eff_roi_dR
Resplot * m_rntrt_phi_rec
virtual TH1F * getHist_invmassObj()
std::vector< Resplot * > m_rptresPull
std::vector< Resplot * > m_res
Resplot * m_rd0_vs_phi
beam spot dependent
Resplot * m_rnsct_vs_npix_rec
void addHistogram2D(TH2F *h)
Efficiency1D * m_purity_d0
std::vector< Resplot * > m_rd0res
Efficiency1D * m_eff_vs_et
Resplot * m_rnsct_eta_rec
Resplot * m_rChi2prob_bad
std::vector< Resplot * > m_retares
Resplot * m_rChi2d_vs_Chi2d
Efficiency2D * m_eff_d0_vs_pt
Resplot * m_rd0_vs_phi_rec
virtual void finalise()
calculate the efficiencies and write them out with all the histograms
std::vector< Resplot * > m_riptres
Efficiency1D * m_purity_eta
std::vector< Resplot * > m_rzedresPull
std::vector< Resplot * > m_riptresPull
std::map< int, int > m_rmap
std::vector< Resplot * > m_rphires
std::vector< Resplot * > m_rphiresPull
virtual void initialiseInternal()
std::map< std::string, TH1F * > m_histos
void initialiseFirstEvent(bool b=true)
bool m_print
flag to print out the matched tracks etc
TH2F * find2D(const std::string &n)
Resplot * m_rRoi_dphi_vs_eta
Resplot * m_rRoi_deta_vs_eta
Residuals.
std::vector< Resplot * > m_rzedres
std::vector< Resplot * > m_rDa0res
Efficiency1D * m_purity_z0
std::vector< Resplot * > m_rDd0res
Resplot * m_rnsct_vs_npix
Describes the Region of Ineterest geometry It has basically 8 parameters.
virtual void execute(const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher)=0
const std::string & name() const
return identifier
TrackAnalysis(const std::string &name)
the beam test parts are not really usable in a multithreaded environment
const TIDARoiDescriptor * roi() const