|
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 *) |
|
const 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 276 of file AnalysisR3_Tier0.cxx.
285 std::vector<TIDA::Track*>::const_iterator
reference = referenceTracks.begin();
286 std::vector<TIDA::Track*>::const_iterator referenceEnd = referenceTracks.end();
315 double referenceEta = (*reference)->eta();
316 double referencePhi =
phi((*reference)->phi());
317 double referenceZ0 = (*reference)->z0();
318 double referenceD0 = (*reference)->a0();
319 double referencePT = (*reference)->pT();
321 double referenceDZ0 = (*reference)->dz0();
322 double referenceDD0 = (*reference)->da0();
327 float eff_weight = 0;
328 if (
test) eff_weight = 1;
332 m_hpTeff->
Fill( std::fabs(referencePT)*0.001, eff_weight );
353 m_hnpixvseta->
Fill( referenceEta,
int(((*reference)->pixelHits()+0.5)*0.5) );
357 if ( (*reference)->dof()!=0 )
m_chi2dof->
Fill( (*reference)->chi2()/(*reference)->dof() );
359 m_hnpixvsphi->
Fill( referencePhi,
int(((*reference)->pixelHits()+0.5)*0.5) );
363 m_hnpixvsd0->
Fill( referenceD0,
int(((*reference)->pixelHits()+0.5)*0.5) );
366 m_hnpixvspT->
Fill( std::fabs(referencePT)*0.001,
int(((*reference)->pixelHits()+0.5)*0.5) );
367 m_hnsctvspT->
Fill( std::fabs(referencePT)*0.001, (*reference)->sctHits() );
370 m_hnpix->
Fill(
int(((*reference)->pixelHits()+0.5)*0.5) );
385 for (
size_t ilayer=0 ; ilayer<32 ; ilayer++ ) {
386 if ( (*reference)->hitPattern()&(1U<<ilayer) )
m_hlayer->
Fill( ilayer );
416 if (tevt && beamline) {
422 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 42 of file AnalysisR3_Tier0.cxx.
49 std::cout <<
"\nAnalysisR3_Tier0:: chain specification: " << cname <<
"\t" << cname.
raw() << std::endl;
51 std::cout <<
"\tchain: " << cname.
head() << std::endl;
52 std::cout <<
"\tkey: " << cname.
tail() << std::endl;
53 std::cout <<
"\troi: " << cname.
roi() << std::endl;
54 std::cout <<
"\tvtx: " << cname.
vtx() << std::endl;
55 std::cout <<
"\tte: " << cname.
element() << std::endl;
74 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
100 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
122 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
164 if (
name().
find(
"LRT")!=std::string::npos ||
name().
find(
"lrt")!=std::string::npos) {
◆ monTool()
◆ name()
const 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_hmu
◆ 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 145 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_htrkz0_rec
TIDA::Histogram< float > m_hnsihits_lb
TIDA::Histogram< float > m_hntrtvsphi_rec
TIDA::Histogram< float > m_hmu
TIDA::Histogram< float > m_hetaeff
TIDA::Histogram< float > m_hphieff
TIDA::Histogram< float > m_htrkipT_residual
std::string find(const std::string &s)
return a remapped string
TIDA::Histogram< float > m_htrketa_rec
TIDA::Histogram< float > m_htrkpT_residual
TIDA::Histogram< float > m_hpTres
virtual void execute(const std::vector< TIDA::Track * > &tracks1, const std::vector< TIDA::Track * > &tracks2, TrackAssociator *matcher)=0
TIDA::Histogram< float > m_hipTres
TIDA::Histogram< float > m_htrkvtx_y_lb
void set_monTool(ToolHandle< GenericMonitoringTool > *m)
TIDA::Histogram< float > m_hntrtvseta
TIDA::Histogram< float > m_htrkphi
TIDA::Histogram< float > m_htrkd0_rec
TIDA::Histogram< float > m_hphires
TIDA::Histogram< float > m_htrkphi_rec
Describes the Region of Ineterest geometry It has basically 8 parameters.
TIDA::Histogram< float > m_hnsihits_rec
TIDA::Histogram< float > m_hz0eff
TIDA::Histogram< float > m_hnpixvsd0
TIDA::Histogram< float > m_htrkz0
const TIDARoiDescriptor * roi() const
TIDA::Histogram< float > m_hntrtvsphi
TIDA::Histogram< float > m_hntrk
TIDA::Histogram< float > m_hnsctvseta
void lumi_block(unsigned lb)
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_hnpixvseta_rec
TIDA::Histogram< float > m_hd0res
TIDA::Histogram< float > m_htrkz0_residual
TIDA::Histogram< float > m_hnpixvseta
TIDA::Histogram< float > m_hnsct
const std::string & name() const
return identifier
void execute(const std::vector< TIDA::Vertex * > &vtx0, const std::vector< TIDA::Vertex * > &vtx1, const TIDA::Event *te=0)
TIDA::Histogram< float > m_htrkdz0_rec
TIDA::Histogram< float > m_htrkdd0_residual
TIDA::Histogram< float > m_hd0eff
TIDA::Histogram< float > m_chi2dof
const std::string & tail() const
ToolHandle< GenericMonitoringTool > * monTool()
void event_number(unsigned long long e)
TIDA::Histogram< float > m_htrkd0sig
TIDA::Histogram< float > m_htrkvtx_z_lb
TIDA::Histogram< float > m_hnsihits_lb_rec
TIDA::Histogram< float > m_htrkpT_rec
TIDA::Histogram< float > m_htrketa_residual
TIDA::Histogram< float > m_hnsihits
TIDA::Histogram< float > m_hnsctvsd0_rec
TIDA::Histogram< float > m_hnpixvspT_rec
const TIDA::Event * event() const
void insert(T *t, const std::string &key)
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_hntrt_rec
TIDA::Histogram< float > m_hnpix_rec
TIDA::Histogram< float > m_hnpix
TIDA::Histogram< float > m_htrkvtx_x_lb
TIDA::Histogram< float > m_hnpixvsd0_rec
std::map< std::string, TProfile * > m_effhistos
VtxR3Analysis * m_vtxanal
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_htrkpT
TIDA::Histogram< float > m_hroieta
TIDA::Histogram< float > m_hchain
TIDA::Histogram< float > m_htrketa
int m_nVtx
sundry other items
TIDA::Histogram< float > m_hd0vsphi_rec
TIDA::Histogram< float > m_hlayer_rec
TIDA::Histogram< float > m_hnsct_rec
TIDA::Histogram< float > m_htrkd0_residual
TIDA::Histogram< float > m_htrkd0
TIDA::Histogram< float > m_htotal_efficiency
Monitorwd::AScalar Histogram wrapper class.
TIDA::Histogram< float > m_hnpixvsphi_rec
TIDA::Histogram< float > m_htrkd0sig_rec
TIDA::Histogram< float > m_hntrtvseta_rec
const std::string & head() const
TIDA::Histogram< float > m_hpTeff
TIDA::Histogram< float > m_hnpixvspT
const std::string & roi() const
ToolHandle< GenericMonitoringTool > * m_monTool
TIDA::Histogram< float > m_chi2dof_rec
double m_xBeamTest
test sample
TIDA::Histogram< float > m_htrkdd0
TIDA::Histogram< float > m_hnpixvsphi
TIDA::Histogram< float > m_hz0res
TIDA::Histogram< float > m_hnVtxeff
virtual void execute(const std::vector< TIDA::Track * > &referenceTracks, const std::vector< TIDA::Track * > &testTracks, TrackAssociator *associator)
TIDA::Histogram< float > m_hnsctvsphi_rec
TIDA::Histogram< float > m_htrkphi_residual
TIDA::Histogram< float > m_hnsctvsd0
const std::string & element() const
TIDA::Histogram< float > m_hnsctvspT
TIDA::Histogram< float > m_hnsctvsphi
const std::string & raw() const
unsigned long long m_eventid
TIDA::Histogram< float > m_hntrt
TIDA::Histogram< float > m_hnsctvspT_rec
TIDA::Histogram< float > m_hetares
TIDA::Histogram< float > m_hntrk_rec
TIDA::Histogram< float > m_htrkdd0_rec
std::string m_name
identifier of the of the analysis - also used for the root directory into which the histograms are pu...
TIDA::FeatureStore & store()
TIDA::Histogram< float > m_htrkdz0
TIDA::Histogram< float > m_hlayer
TIDA::Histogram< float > m_hd0vsphi
TIDA::Histogram< float > m_hlbeff
TIDA::Histogram< float > m_hnsctvseta_rec
const std::string & vtx() const
double m_xBeamReference
beamline positions reference sample
TIDA::Histogram< float > m_htrkdz0_residual