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;
298 std::vector<Resplot::Resplot*>
m_res;
383 return s << ca.name();
std::ostream & operator<<(std::ostream &s, const ConfAnalysis &ca)
const std::string clean(std::string s)
TIDA::Associator< TIDA::Track > TrackAssociator
emacs: this is -*- c++ -*-
Header file for AthHistogramAlgorithm.
Efficiency1D * m_eff_roi_deta
Resplot::Resplot * m_rnscth_pt_rec
Resplot::Resplot * m_rnsct_phi_rec
Resplot::Resplot * m_rnbl_d0
Resplot::Resplot * m_rntrt_eta
Efficiency1D * m_purity_phi
Resplot::Resplot * m_rnpix_pt_rec
std::vector< Resplot::Resplot * > m_res
std::vector< Resplot::Resplot * > m_retaresPull
Resplot::Resplot * m_rChi2
Resplot::Resplot * m_rnblh_d0
Resplot::Resplot * m_rnsct_eta_rec
Resplot::Resplot * m_rntrt_d0
Efficiency1D * m_eff_vs_ntracks2
std::vector< Resplot::Resplot * > m_riptres
Resplot::Resplot * m_rnpix_eta_rec
Efficiency1D * m_eff_vs_mu
Resplot::Resplot * m_rnsih_pt
Resplot::Resplot * m_rnsct_pt_bad
Resplot::Resplot * m_rnsih_eta
ConfAnalysis(const std::string &name, const ChainString &config, TagNProbe *TnP_tool=0)
Resplot::Resplot * m_rntrt_d0_rec
Resplot::Resplot * m_z_vs_lb
Resplot::Resplot * m_rnsct_eta
Efficiency1D * m_purity_a0
Resplot::Resplot * m_rChi2dof_bad
std::vector< Resplot::Resplot * > m_rDa0res
void setRoi(const TIDARoiDescriptor *roi)
Resplot::Resplot * m_rnsih_d0
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
std::vector< Resplot::Resplot * > m_rphiresPull
Resplot::Resplot * m_rChi2_rec
Efficiency1D * m_eff_vs_nvtx
Efficiency2D * m_eff_eta_vs_pt
Resplot::Resplot * m_rChi2prob_rec
Resplot::Resplot * m_rnscth_d0
Resplot::Resplot * m_rnpix_pt_bad
Resplot::Resplot * m_rnsct_vs_npix_rec
std::vector< Resplot::Resplot * > m_rDd0res
int m_Nreco
number of reconstructed tracks
std::vector< Resplot::Resplot * > m_rd0resPull
virtual TH1F * getHist_invmass()
Resplot::Resplot * m_rnpixh_pt_rec
Resplot::Resplot * m_rnpix_phi_rec
Resplot::Resplot * m_rnsi_d0
Resplot::Resplot * m_rnsct_lb_rec
Resplot::Resplot * m_rzedreslb
virtual void execute(const std::vector< TIDA::Track * > &reftracks, const std::vector< TIDA::Track * > &testtracks, TrackAssociator *matcher, const TIDA::Event *)
Resplot::Resplot * m_rnpixh_d0
std::vector< Resplot::Resplot * > m_rzedres
void addHistogram(TH1F *h)
Resplot::Resplot * m_rnsi_pt
Resplot::Resplot * m_rChi2dof
Resplot::Resplot * m_rnsct_phi
Resplot::Resplot * m_rnpix_lb_rec
TH1F * find(const std::string &n)
Resplot::Resplot * m_rnsihit_eta_rec
Efficiency1D * m_eff_vs_ntracks
bool m_initialiseFirstEvent
Resplot::Resplot * m_rnpix_phi
Efficiency1D * m_eff_vs_etovpt
Resplot::Resplot * m_rnsct_pt
Resplot::Resplot * m_rChi2d_vs_Chi2d
virtual void execute(const std::vector< TIDA::Track * > &reftracks, const std::vector< TIDA::Track * > &testtracks, TrackAssociator *matcher, TrigObjectMatcher *objects)
const ChainString & config() const
Resplot::Resplot * m_rntrt_phi_rec
std::vector< Resplot::Resplot * > m_rzedthetares
Resplot::Resplot * m_rntrt_pt
Resplot::Resplot * m_rChi2dof_rec
Resplot::Resplot * m_rChi2prob
Resplot::Resplot * m_rnsct_pt_rec
Resplot::Resplot * m_rnpix_lb
Resplot::Resplot * m_rRoi_dphi_vs_eta
Resplot::Resplot * m_rnsct_d0
virtual TagNProbe * getTnPtool()
std::vector< Resplot::Resplot * > m_riptresPull
Resplot::Resplot * m_rzedlb_rec
Resplot::Resplot * m_rnsct_vs_npix
Resplot::Resplot * m_rntrt_eta_rec
Resplot::Resplot * m_h2a0r
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::Resplot * > m_rd0res
std::vector< Resplot::Resplot * > m_rDz0res
Efficiency1D * m_eff_vs_mult
virtual void initialise()
book all the histograms
Resplot::Resplot * m_rzedlb
Efficiency1D * m_eff_roi_dphi
Efficiency1D * m_eff_roi_dR
virtual TH1F * getHist_invmassObj()
Resplot::Resplot * m_rRoi_dzed_vs_eta
Resplot::Resplot * m_rDChi2dof
void addHistogram2D(TH2F *h)
Efficiency1D * m_purity_d0
std::vector< Resplot::Resplot * > m_retares
Efficiency1D * m_eff_vs_et
std::vector< Resplot::Resplot * > m_rptres
Resplot::Resplot * m_rnpixh_pt
std::vector< Resplot::Resplot * > m_rphires
Resplot::Resplot * m_rChi2prob_bad
Efficiency2D * m_eff_d0_vs_pt
virtual void finalise()
calculate the efficiencies and write them out with all the histograms
Resplot::Resplot * m_rnpix_pt
Resplot::Resplot * m_rnpix_eta
Resplot::Resplot * m_rntrt_pt_bad
Efficiency1D * m_purity_eta
Resplot::Resplot * m_rnsct_lb
std::map< int, int > m_rmap
Resplot::Resplot * m_h2a0
Resplot::Resplot * m_rntrt_pt_rec
Resplot::Resplot * m_rnsct_d0_rec
Resplot::Resplot * m_rd0_vs_phi
beam spot dependent
Resplot::Resplot * m_rnsihit_eta
std::vector< Resplot::Resplot * > m_rptresPull
Resplot::Resplot * m_rnpix_d0
Resplot::Resplot * m_rntrt_phi
Resplot::Resplot * m_rChi2_bad
virtual void initialiseInternal()
Resplot::Resplot * m_rnscth_pt
Resplot::Resplot * m_rnpix_d0_rec
std::map< std::string, TH1F * > m_histos
void initialiseFirstEvent(bool b=true)
bool m_print
flag to print out the matched tracks etc
Resplot::Resplot * m_rRoi_deta_vs_eta
Residuals.
TH2F * find2D(const std::string &n)
Resplot::Resplot * m_rnsi_eta
Resplot::Resplot * m_deltaR_v_pt
Resplot::Resplot * m_deltaR_v_eta
Efficiency1D * m_purity_z0
std::vector< Resplot::Resplot * > m_rzedresPull
Resplot::Resplot * m_rd0_vs_phi_rec
Describes the Region of Interest 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