![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
#include <AnalysisR3_Tier0.h>
|
| AnalysisR3_Tier0 (const std::string &name, double pTCut, double etaCut, double d0Cut, double z0Cut) |
|
virtual void | initialise () |
| standard operation interface More...
|
|
virtual void | initialise_R2 () |
|
virtual void | initialise_R3 () |
|
virtual void | execute (const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator) |
|
virtual void | execute (const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator, const TIDA::Event *tevt) |
|
virtual void | execute (const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator, const TIDA::Event *tevt, double *beamline) |
|
virtual void | execute (const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator, const TIDA::Event *tevt, double *beamline, TIDARoiDescriptor *t) |
|
virtual void | execute_vtx (const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, const TIDA::Event *tevt=0) |
|
virtual void | finalise () |
|
void | setvertices (int numvtx) |
|
std::map< std::string, TH1 * >::const_iterator | THbegin () const |
|
std::map< std::string, TH1 * >::const_iterator | THend () const |
|
std::map< std::string, TProfile * >::const_iterator | TEffbegin () const |
|
std::map< std::string, TProfile * >::const_iterator | TEffend () const |
|
void | set_monTool (ToolHandle< GenericMonitoringTool > *m) |
|
ToolHandle< GenericMonitoringTool > * | monTool () |
|
bool | debug () const |
|
virtual void | execute (const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher)=0 |
|
virtual void | execute (const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher, TrigObjectMatcher *) |
|
virtual void | execute (const std::vector< TIDA::Track * > &, const std::vector< TIDA::Track * > &, TrackAssociator *, const TIDA::Event *) |
|
virtual void | execute (const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher, const TIDA::Event *event, double *) |
|
virtual void | execute (const std::vector< TIDA::Track * > &, const std::vector< TIDA::Track * > &, TrackAssociator *, const TIDA::Event *, double *, TIDARoiDescriptor *) |
|
std::string | name () const |
| return identifier More...
|
|
virtual void | execute (const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher, TrigObjectMatcher *) |
|
const std::map< std::string, TH1 * > & | getHistograms () const |
| access the histograms More...
|
|
std::map< std::string, TH1 * >::const_iterator | begin () const |
|
std::map< std::string, TH1 * >::const_iterator | end () const |
|
void | setBeamRef (double x, double y, double z=0) |
| set the beamline positions More...
|
|
void | setBeamRef (const std::vector< double > &v) |
|
void | setBeamTest (double x, double y, double z=0) |
|
void | setBeamTest (const std::vector< double > &v) |
|
double | beamRefx () const |
|
double | beamRefy () const |
|
double | beamRefz () const |
|
double | beamTestx () const |
|
double | beamTesty () const |
|
double | beamTestz () const |
|
TIDA::FeatureStore & | store () |
|
const TIDA::Event * | event () const |
|
void | setevent (TIDA::Event *e) |
|
const TIDARoiDescriptor * | roi () const |
|
void | setroi (TIDARoiDescriptor *r) |
|
Definition at line 30 of file AnalysisR3_Tier0.h.
◆ AnalysisR3_Tier0()
AnalysisR3_Tier0::AnalysisR3_Tier0 |
( |
const std::string & |
name, |
|
|
double |
pTCut, |
|
|
double |
etaCut, |
|
|
double |
d0Cut, |
|
|
double |
z0Cut |
|
) |
| |
◆ addHistogram() [1/2]
void AnalysisR3_Tier0::addHistogram |
( |
TH1 * |
| ) |
|
|
inlineprivate |
◆ addHistogram() [2/2]
void AnalysisR3_Tier0::addHistogram |
( |
TProfile * |
| ) |
|
|
inlineprivate |
◆ beamRefx()
double TrackAnalysis::beamRefx |
( |
| ) |
const |
|
inlineinherited |
◆ beamRefy()
double TrackAnalysis::beamRefy |
( |
| ) |
const |
|
inlineinherited |
◆ beamRefz()
double TrackAnalysis::beamRefz |
( |
| ) |
const |
|
inlineinherited |
◆ beamTestx()
double TrackAnalysis::beamTestx |
( |
| ) |
const |
|
inlineinherited |
◆ beamTesty()
double TrackAnalysis::beamTesty |
( |
| ) |
const |
|
inlineinherited |
◆ beamTestz()
double TrackAnalysis::beamTestz |
( |
| ) |
const |
|
inlineinherited |
◆ begin()
std::map<std::string, TH1*>::const_iterator TrackAnalysis::begin |
( |
| ) |
const |
|
inlineinherited |
◆ debug()
bool AnalysisR3_Tier0::debug |
( |
| ) |
const |
|
inline |
◆ end()
std::map<std::string, TH1*>::const_iterator TrackAnalysis::end |
( |
| ) |
const |
|
inlineinherited |
◆ event()
◆ execute() [1/10]
virtual void TrackAnalysis::execute |
|
inline |
◆ execute() [2/10]
virtual void TrackAnalysis::execute |
|
inline |
◆ execute() [3/10]
◆ execute() [4/10]
◆ execute() [5/10]
◆ execute() [6/10]
Loop over reference tracks
fill number of times this analysis was called - presumably the number of passed RoIs for this chain
if the event number has changed, this is a new event so update the event counts
fil the number of offline tracks
m_hnVtxeff->Fill( m_nVtx, eff_weight ); /// don't use the class variable as this is not thread safe
this is a hack to make it thread safe
fil the number of offline tracks
NB: do we want to fill the actual trigger quantities, or the offline quantities for the matched tracks?
residual profiles vs the reference variable
residual profiles vs eta - the more easy to understand
test track distributions for test tracks with a reference track match
1d residual distributions
Reimplemented from TrackAnalysis.
Definition at line 272 of file AnalysisR3_Tier0.cxx.
281 std::vector<TIDA::Track*>::const_iterator
reference = referenceTracks.begin();
282 std::vector<TIDA::Track*>::const_iterator referenceEnd = referenceTracks.end();
308 double referenceEta = (*reference)->eta();
309 double referencePhi =
phi((*reference)->phi());
310 double referenceZ0 = (*reference)->z0();
311 double referenceD0 = (*reference)->a0();
312 double referencePT = (*reference)->pT();
314 double referenceDZ0 = (*reference)->dz0();
315 double referenceDD0 = (*reference)->da0();
320 float eff_weight = 0;
321 if (
test) eff_weight = 1;
325 m_hpTeff->
Fill( std::fabs(referencePT)*0.001, eff_weight );
346 m_hnpixvseta->
Fill( referenceEta,
int(((*reference)->pixelHits()+0.5)*0.5) );
350 if ( (*reference)->dof()!=0 )
m_chi2dof->
Fill( (*reference)->chi2()/(*reference)->dof() );
352 m_hnpixvsphi->
Fill( referencePhi,
int(((*reference)->pixelHits()+0.5)*0.5) );
356 m_hnpixvsd0->
Fill( referenceD0,
int(((*reference)->pixelHits()+0.5)*0.5) );
359 m_hnpixvspT->
Fill( std::fabs(referencePT)*0.001,
int(((*reference)->pixelHits()+0.5)*0.5) );
360 m_hnsctvspT->
Fill( std::fabs(referencePT)*0.001, (*reference)->sctHits() );
363 m_hnpix->
Fill(
int(((*reference)->pixelHits()+0.5)*0.5) );
378 for (
size_t ilayer=0 ; ilayer<32 ; ilayer++ ) {
379 if ( (*reference)->hitPattern()&(1U<<ilayer) )
m_hlayer->
Fill( ilayer );
413 for (
size_t ilayer=0 ; ilayer<32 ; ilayer++ ) {
◆ execute() [7/10]
virtual void TrackAnalysis::execute |
◆ execute() [8/10]
virtual void TrackAnalysis::execute |
|
inline |
◆ execute() [9/10]
virtual void TrackAnalysis::execute |
|
inline |
◆ execute() [10/10]
◆ execute_vtx()
◆ finalise()
void AnalysisR3_Tier0::finalise |
( |
| ) |
|
|
virtual |
◆ getHistograms()
const std::map<std::string, TH1*>& TrackAnalysis::getHistograms |
( |
| ) |
const |
|
inlineinherited |
◆ initialise()
void AnalysisR3_Tier0::initialise |
( |
| ) |
|
|
virtual |
◆ initialise_R2()
void AnalysisR3_Tier0::initialise_R2 |
( |
| ) |
|
|
virtual |
◆ initialise_R3()
void AnalysisR3_Tier0::initialise_R3 |
( |
| ) |
|
|
virtual |
Limit the bins - to only the first 77 bins - so a range up to ~ 1000 leave the previous selection commented for the time being
reference track distributions
the error estimates are always positive ...
test track distributions
Limit the bins - to only the first 77 bins - so a range up to ~ 1000 leave the previous selection commented for the time being
trigger tracking efficiencies
do we want to track the offline vertex ??? leave this in in preparation ...
han config too stufid to deal with spaces in histogram names
trigger tracking differential resolutions
residuals
miscelaneous histograms
should we protect this ? If initialise is called again do we really want a new analysis ? Or should we just carry on with the ixisting on, so text if m_vtxanal is non zero and skip it if so ?
vertex analyses if required ...
is this needed ?
initialise the vtx analysis
Definition at line 41 of file AnalysisR3_Tier0.cxx.
48 std::cout <<
"\nAnalysisR3_Tier0:: chain specification: " << cname <<
"\t" << cname.
raw() << std::endl;
50 std::cout <<
"\tchain: " << cname.
head() << std::endl;
51 std::cout <<
"\tkey: " << cname.
tail() << std::endl;
52 std::cout <<
"\troi: " << cname.
roi() << std::endl;
53 std::cout <<
"\tvtx: " << cname.
vtx() << std::endl;
54 std::cout <<
"\tte: " << cname.
element() << std::endl;
73 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
99 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
121 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
163 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
◆ monTool()
◆ name()
std::string TrackAnalysis::name |
( |
| ) |
const |
|
inlineinherited |
◆ phi()
double AnalysisR3_Tier0::phi |
( |
double |
p | ) |
|
|
private |
◆ roi()
◆ set_monTool()
◆ setBeamRef() [1/2]
void TrackAnalysis::setBeamRef |
( |
const std::vector< double > & |
v | ) |
|
|
inlineinherited |
◆ setBeamRef() [2/2]
void TrackAnalysis::setBeamRef |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z = 0 |
|
) |
| |
|
inlineinherited |
◆ setBeamTest() [1/2]
void TrackAnalysis::setBeamTest |
( |
const std::vector< double > & |
v | ) |
|
|
inlineinherited |
◆ setBeamTest() [2/2]
void TrackAnalysis::setBeamTest |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z = 0 |
|
) |
| |
|
inlineinherited |
◆ setevent()
◆ setroi()
◆ setvertices()
void AnalysisR3_Tier0::setvertices |
( |
int |
numvtx | ) |
|
|
inline |
◆ store()
◆ TEffbegin()
std::map<std::string, TProfile*>::const_iterator AnalysisR3_Tier0::TEffbegin |
( |
| ) |
const |
|
inline |
◆ TEffend()
std::map<std::string, TProfile*>::const_iterator AnalysisR3_Tier0::TEffend |
( |
| ) |
const |
|
inline |
◆ THbegin()
std::map<std::string, TH1*>::const_iterator AnalysisR3_Tier0::THbegin |
( |
| ) |
const |
|
inline |
◆ THend()
std::map<std::string, TH1*>::const_iterator AnalysisR3_Tier0::THend |
( |
| ) |
const |
|
inline |
◆ m_chi2dof
◆ m_chi2dof_rec
◆ m_debug
bool AnalysisR3_Tier0::m_debug |
|
private |
◆ m_effhistos
std::map<std::string, TProfile*> AnalysisR3_Tier0::m_effhistos |
|
private |
◆ m_event
◆ m_eventid
unsigned long long AnalysisR3_Tier0::m_eventid |
|
private |
◆ m_hchain
◆ m_hd0eff
◆ m_hd0res
◆ m_hd0vsphi
◆ m_hd0vsphi_rec
◆ m_hetaeff
◆ m_hetares
◆ m_hipTres
◆ m_histos
std::map<std::string, TH1*> AnalysisR3_Tier0::m_histos |
|
private |
these aren't used for this class but are still needed so that the older class can work - it iuses the same interface
Definition at line 106 of file AnalysisR3_Tier0.h.
◆ m_hlayer
◆ m_hlayer_rec
◆ m_hlbeff
◆ m_hnpix
◆ m_hnpix_rec
◆ m_hnpixvsd0
◆ m_hnpixvsd0_rec
◆ m_hnpixvseta
◆ m_hnpixvseta_rec
◆ m_hnpixvsphi
◆ m_hnpixvsphi_rec
◆ m_hnpixvspT
◆ m_hnpixvspT_rec
◆ m_hnsct
◆ m_hnsct_rec
◆ m_hnsctvsd0
◆ m_hnsctvsd0_rec
◆ m_hnsctvseta
◆ m_hnsctvseta_rec
◆ m_hnsctvsphi
◆ m_hnsctvsphi_rec
◆ m_hnsctvspT
◆ m_hnsctvspT_rec
◆ m_hnsihits
◆ m_hnsihits_lb
◆ m_hnsihits_lb_rec
◆ m_hnsihits_rec
◆ m_hntrk
◆ m_hntrk_rec
◆ m_hntrt
◆ m_hntrt_rec
◆ m_hntrtvseta
◆ m_hntrtvseta_rec
◆ m_hntrtvsphi
◆ m_hntrtvsphi_rec
◆ m_hnVtxeff
◆ m_hphieff
◆ m_hphires
◆ m_hpTeff
◆ m_hpTres
◆ m_hroieta
◆ m_htotal_efficiency
◆ m_htrkd0
◆ m_htrkd0_rec
◆ m_htrkd0_residual
◆ m_htrkd0sig
◆ m_htrkd0sig_rec
◆ m_htrkdd0
◆ m_htrkdd0_rec
◆ m_htrkdd0_residual
◆ m_htrkdz0
◆ m_htrkdz0_rec
◆ m_htrkdz0_residual
◆ m_htrketa
◆ m_htrketa_rec
◆ m_htrketa_residual
◆ m_htrkipT_residual
◆ m_htrkphi
◆ m_htrkphi_rec
◆ m_htrkphi_residual
◆ m_htrkpT
◆ m_htrkpT_rec
◆ m_htrkpT_residual
◆ m_htrkvtx_x_lb
◆ m_htrkvtx_y_lb
◆ m_htrkvtx_z_lb
◆ m_htrkz0
◆ m_htrkz0_rec
◆ m_htrkz0_residual
◆ m_hz0eff
◆ m_hz0res
◆ m_monTool
◆ m_name
std::string TrackAnalysis::m_name |
|
protectedinherited |
identifier of the of the analysis - also used for the root directory into which the histograms are put
Definition at line 141 of file TrackAnalysis.h.
◆ m_nVtx
int AnalysisR3_Tier0::m_nVtx |
|
private |
◆ m_roi
◆ m_store
◆ m_vtxanal
◆ m_xBeamReference
double TrackAnalysis::m_xBeamReference |
|
protectedinherited |
◆ m_xBeamTest
double TrackAnalysis::m_xBeamTest |
|
protectedinherited |
◆ m_yBeamReference
double TrackAnalysis::m_yBeamReference |
|
protectedinherited |
◆ m_yBeamTest
double TrackAnalysis::m_yBeamTest |
|
protectedinherited |
◆ m_zBeamReference
double TrackAnalysis::m_zBeamReference |
|
protectedinherited |
◆ m_zBeamTest
double TrackAnalysis::m_zBeamTest |
|
protectedinherited |
The documentation for this class was generated from the following files:
TIDARoiDescriptor * m_roi
virtual void initialise_R3()
TIDA::Histogram< float > * m_hntrtvseta
TIDA::Histogram< float > * m_hnpix
TIDA::Histogram< float > * m_hnpixvseta_rec
TIDA::Histogram< float > * m_htrkdd0_residual
TIDA::Histogram< float > * m_hd0vsphi
TIDA::Histogram< float > * m_htrkz0_rec
TIDA::Histogram< float > * m_hnsihits_lb_rec
TIDA::Histogram< float > * m_hz0eff
std::string find(const std::string &s)
return a remapped string
TIDA::Histogram< float > * m_htrketa_residual
TIDA::Histogram< float > * m_hpTres
TIDA::Histogram< float > * m_htrkphi_residual
TIDA::Histogram< float > * m_htrkdz0_rec
TIDA::Histogram< float > * m_htrkd0sig_rec
TIDA::Histogram< float > * m_hnsctvseta_rec
TIDA::Histogram< float > * m_htrkdz0_residual
TIDA::Histogram< float > * m_hnpixvsd0
virtual void execute(const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher)=0
TIDA::Histogram< float > * m_hnsihits
TIDA::Histogram< float > * m_hd0vsphi_rec
TIDA::Histogram< float > * m_chi2dof_rec
TIDA::Histogram< float > * m_hd0res
void set_monTool(ToolHandle< GenericMonitoringTool > *m)
TIDA::Histogram< float > * m_hntrt_rec
TIDA::Histogram< float > * m_hroieta
TIDA::Histogram< float > * m_hnpixvspT
TIDA::Histogram< float > * m_htrkdd0_rec
Describes the Region of Ineterest geometry It has basically 8 parameters.
TIDA::Histogram< float > * m_hetaeff
const TIDARoiDescriptor * roi() const
TIDA::Histogram< float > * m_htrkz0
TIDA::Histogram< float > * m_htrkvtx_x_lb
void lumi_block(unsigned lb)
TIDA::Histogram< float > * m_hnpix_rec
virtual const S * matched(T *t)
std::map< std::string, TH1 * > m_histos
these aren't used for this class but are still needed so that the older class can work - it iuses the...
TIDA::Histogram< float > * m_hchain
TIDA::Histogram< float > * m_htrkdz0
TIDA::Histogram< float > * m_hntrtvsphi_rec
TIDA::Histogram< float > * m_hz0res
TIDA::Histogram< float > * m_htrkvtx_y_lb
TIDA::Histogram< float > * m_hipTres
TIDA::Histogram< float > * m_hnpixvsphi_rec
TIDA::Histogram< float > * m_hlbeff
void execute(const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, const TIDA::Event *te=0)
TIDA::Histogram< float > * m_hphires
ToolHandle< GenericMonitoringTool > * monTool()
void event_number(unsigned long long e)
TIDA::Histogram< float > * m_hnsctvseta
TIDA::Histogram< float > * m_hnVtxeff
TIDA::Histogram< float > * m_hnsct
TIDA::Histogram< float > * m_hnpixvseta
TIDA::Histogram< float > * m_hntrtvseta_rec
std::string name() const
return identifier
TIDA::Histogram< float > * m_hpTeff
TIDA::Histogram< float > * m_htrkphi_rec
TIDA::Histogram< float > * m_htrkvtx_z_lb
TIDA::Histogram< float > * m_hnsctvsphi
const TIDA::Event * event() const
void insert(T *t, const std::string &key)
TIDA::Histogram< float > * m_htrkd0
std::map< std::string, TH1 * > m_histos
lookup table for the histograms by name - does this need to be in the base class?
TIDA::Histogram< float > * m_htrkpT_rec
TIDA::Histogram< float > * m_hntrtvsphi
std::map< std::string, TProfile * > m_effhistos
VtxR3Analysis * m_vtxanal
TIDA::Histogram< float > * m_hnpixvsd0_rec
std::string element() const
TIDA::FeatureStore m_store
TrackAnalysis(const std::string &name)
the beam test parts are not really usable in a multithreaded environment
TIDA::Histogram< float > * m_hd0eff
TIDA::Histogram< float > * m_htrkd0_residual
TIDA::Histogram< float > * m_hnpixvsphi
TIDA::Histogram< float > * m_hnsctvspT
int m_nVtx
sundry other items
TIDA::Histogram< float > * m_htrkd0_rec
TIDA::Histogram< float > * m_hnsctvsd0
TIDA::Histogram< float > * m_hnsct_rec
TIDA::Histogram< float > * m_htrkipT_residual
TIDA::Histogram< float > * m_hnsihits_rec
TIDA::Histogram< float > * m_htrkz0_residual
TIDA::Histogram< float > * m_hnsctvsphi_rec
TIDA::Histogram< float > * m_htrkphi
ToolHandle< GenericMonitoringTool > * m_monTool
double m_xBeamTest
test sample
TIDA::Histogram< float > * m_htrkd0sig
TIDA::Histogram< float > * m_hntrk
TIDA::Histogram< float > * m_hnsihits_lb
TIDA::Histogram< float > * m_hntrk_rec
TIDA::Histogram< float > * m_htrkpT
virtual void execute(const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator)
TIDA::Histogram< float > * m_htrketa
TIDA::Histogram< float > * m_hlayer
TIDA::Histogram< float > * m_hphieff
unsigned long long m_eventid
TIDA::Histogram< float > * m_hnpixvspT_rec
TIDA::Histogram< float > * m_hlayer_rec
TIDA::Histogram< float > * m_hetares
std::string m_name
identifier of the of the analysis - also used for the root directory into which the histograms are pu...
TIDA::Histogram< float > * m_htrkdd0
TIDA::FeatureStore & store()
TIDA::Histogram< float > * m_hnsctvspT_rec
TIDA::Histogram< float > * m_chi2dof
TIDA::Histogram< float > * m_htrkpT_residual
TIDA::Histogram< float > * m_htotal_efficiency
Monitorwd::AScalar Histogram wrapper class.
TIDA::Histogram< float > * m_htrketa_rec
TIDA::Histogram< float > * m_hntrt
double m_xBeamReference
beamline positions reference sample
TIDA::Histogram< float > * m_hnsctvsd0_rec