|
ATLAS Offline Software
|
#include <AnalysisConfig_Ntuple.h>
|
| AnalysisConfig_Ntuple (const std::vector< std::string > &chainNames, const std::string &outputFileName="TrkNtuple.root", double tauEtCutOffline=0.0, int TruthPdgId=0, bool _keepAllEvents=false, int parentTruthPdgId=0) |
|
| AnalysisConfig_Ntuple (const AnalysisConfig_Ntuple &) |
|
AnalysisConfig_Ntuple & | operator= (const AnalysisConfig_Ntuple &) |
|
virtual | ~AnalysisConfig_Ntuple () |
|
void | set_ptmin (double d=0) |
|
size_t | get_jets (Trig::FeatureContainer::combination_const_iterator citr, std::vector< TrackTrigObject > &objects, const std::string &key="") |
| retrieve the jets from the Roi More...
|
|
void | addTestChain (const std::string &chainName, const std::string &type, const std::string &key) |
|
void | addReferenceChain (const std::string &chainName, const std::string &type, const std::string &key) |
|
void | addSelectionChain (const std::string &chainName, const std::string &type, const std::string &key) |
|
void | addTestFilter (TrackFilter *filter) |
|
void | addReferenceFilter (TrackFilter *filter) |
|
void | addSelectionFilter (TrackFilter *filter) |
|
virtual void | initialize (AthReentrantAlgorithm *p, ToolHandle< Trig::TrigDecisionTool > *tdt) |
|
virtual void | execute () |
|
const std::string & | name () const |
|
const std::string | testChains () const |
|
const std::string | referenceChains () const |
|
const std::string | selectionChains () const |
|
const TrackAnalysis * | analysis () const |
|
void | setMCTruth (bool b=true) |
|
bool | mcTruth () const |
|
void | setBeamX (double d) |
|
void | setBeamY (double d) |
|
void | setBeamZ (double d) |
|
double | beamX () const |
|
double | beamY () const |
|
double | beamZ () const |
|
bool | genericFlag () const |
|
void | setGenericFlag (bool b) |
|
const std::string & | releaseData () const |
|
void | releaseData (const std::string &s) |
|
void | keepAllEvents (bool b) |
|
void | setUseHighestPT (bool b) |
|
bool | getUseHighestPT () const |
|
void | setVtxIndex (int i) |
|
int | getVtxIndex () const |
|
bool | filterOnRoi () const |
|
bool | setFilterOnRoi (bool b) |
|
void | setRequireDecision (bool b) |
|
bool | requireDecision () const |
|
|
virtual void | loop () |
|
virtual void | book () |
| setup the analysis the analysis, retrieve the tools etc More...
|
|
virtual void | finalize () |
| finalise the analysis - take ratios for efficiencies etc More...
|
|
std::pair< typename Collection::const_iterator, typename Collection::const_iterator > | getCollection (const ElementLink< TrigRoiDescriptorCollection > &roi_link, const std::string &key="") |
| new MT feature access More...
|
|
bool | select (std::vector< TIDA::Vertex > &vertices, xAOD::VertexContainer::const_iterator vtx_start, xAOD::VertexContainer::const_iterator vtx_end) |
|
bool | select (std::vector< TIDA::Vertex > &vertices, const ElementLink< TrigRoiDescriptorCollection > &roi_link, const std::string &key="") |
|
bool | select (std::vector< TIDA::Vertex > &vertices, const std::string &key="") |
|
bool | selectTracks (TrigTrackSelector *selector, const ElementLink< TrigRoiDescriptorCollection > &roi_link, const std::string &key="") |
|
bool | selectTracks (TrigTrackSelector *selector, Trig::FeatureContainer::combination_const_iterator citr, const std::string &key="") |
| lagacy run 2 access More...
|
|
bool | selectTracks (TrigTrackSelector *selector, Trig::FeatureContainer::combination_const_iterator citr, const TrigInDetTrackTruthMap *truthmap, const std::string &key="", unsigned index=0) |
| NB: because we want to use this for the L2Star chains, we have to use this method, not the above method without the TruthMap argument - if we don't want/have the TruthMap, just set the pointer to 0 - there should be abetter way to do this, but shan't worry about it now. More...
|
|
bool | selectTracks (TrigTrackSelector *selector, const std::string &key) |
|
StatusCode | retrieve (Collection const *&collection, const std::string &key="") |
|
bool | selectTracksNotEmpty (TrigTrackSelector *selector, const std::string &key) |
|
std::vector< double > | getBeamspot (const std::string &key) |
|
std::vector< double > | getBeamspot (Trig::FeatureContainer::combination_const_iterator citr, const std::string &key="") |
|
unsigned | processElectrons (TrigTrackSelector &selectorRef, std::vector< TrackTrigObject > *elevec=0, const unsigned int selection=0, bool raw_track=false, double ETOffline=0, const std::string &containerName="ElectronAODCollection") |
| select offline electrons More...
|
|
unsigned | processMuons (TrigTrackSelector &selectorRef, const unsigned int selection=0, double ETOffline=0, const std::string &containerName="StacoMuonCollection") |
| select offlinqe muons More...
|
|
unsigned | processTaus (TrigTrackSelector &selectorRef, std::vector< TrackTrigObject > *tauvec=0, const unsigned selection=0, int requireNtracks=0, double EtCutOffline=0, const std::string &containerName="TauRecContainer") |
| select offline taus More...
|
|
Definition at line 32 of file AnalysisConfig_Ntuple.h.
◆ AnalysisConfig_Ntuple() [1/2]
AnalysisConfig_Ntuple::AnalysisConfig_Ntuple |
( |
const std::vector< std::string > & |
chainNames, |
|
|
const std::string & |
outputFileName = "TrkNtuple.root" , |
|
|
double |
tauEtCutOffline = 0.0 , |
|
|
int |
TruthPdgId = 0 , |
|
|
bool |
_keepAllEvents = false , |
|
|
int |
parentTruthPdgId = 0 |
|
) |
| |
|
inline |
leave in this debug printout ... std::cout << "AnalysisConfig_Ntuple::AnalysisConfig_Ntuple() " << chainNames.size() << std::endl;
this is now i nthe base class
abuse the ChainString, now use the roi as the default third field
abuse the ChainString, now use the roi as the default third field
provider is not assigned yet ...
Definition at line 43 of file AnalysisConfig_Ntuple.h.
83 for (
unsigned i=0 ;
i<chainNames.size() ;
i++ ) {
85 if ( chainNames[
i].
empty() )
continue;
89 std::string cs =
chain.head();
93 else if ( cs==
"Vertex" ) {
98 else if ( cs==
"Muons" ){
103 else if ( cs==
"Electrons" ) {
110 else if ( cs==
"Taus" ) {
114 else if ( cs==
"Bjets" )
m_doBjets =
true;
117 if ( cs!=
"" && cs.find(
"HLT")==std::string::npos ) {
◆ AnalysisConfig_Ntuple() [2/2]
◆ ~AnalysisConfig_Ntuple()
virtual AnalysisConfig_Ntuple::~AnalysisConfig_Ntuple |
( |
| ) |
|
|
inlinevirtual |
leave in this debug printout ... std::cout << "AnalysisConfig_Ntuple::~AnalysisConfig_Ntuple() running destructor" << std::endl;
Definition at line 138 of file AnalysisConfig_Ntuple.h.
◆ addReferenceChain()
◆ addReferenceFilter()
◆ addSelectionChain()
◆ addSelectionFilter()
◆ addTestChain()
◆ addTestFilter()
◆ analysis()
◆ beamX()
◆ beamY()
◆ beamZ()
◆ book()
void AnalysisConfig_Ntuple::book |
( |
| ) |
|
|
protectedvirtual |
setup the analysis the analysis, retrieve the tools etc
flag should be called m_fileIsNotOpen really, so is if m_fileIsNotOpen open file, if !m_fileIsNotOpen, then close file etc
save the current directory so we can return there after
create a brand new ntple
update the ntple from the file
go back to original directory
Reimplemented from T_AnalysisConfig< AthReentrantAlgorithm >.
Definition at line 188 of file AnalysisConfig_Ntuple.cxx.
204 if(
m_tdt->retrieve().isFailure() ) {
210 m_provider->
msg(MSG::INFO) <<
"[91;1m" <<
" Successfully retrived the TrigDecisionTool" <<
"[m" <<
endmsg;
212 m_provider->
msg(MSG::INFO) <<
"[91;1m" <<
" trying to create new ntple file" <<
"[m" <<
endmsg;
217 static std::atomic<bool> first_open =
true;
222 static std::atomic<int> file_index = 0;
226 sprintf( file_label,
"-%04d.root", file_index++ );
236 TTree* dataTree =
new TTree(
"dataTree",
"dataTree");
238 dataTree->Branch(
"ReleaseMetaData",
"TString", &
releaseData);
240 dataTree->Write(
"", TObject::kOverwrite);
244 m_Tree =
new TTree(
"tree",
"tree");
245 m_Tree->Branch(
"TIDA::Event",
"TIDA::Event",
m_event, 6400, 1 );
◆ execute()
Definition at line 225 of file T_AnalysisConfig.h.
226 if ( !
m_provider ) std::cerr <<
"ERROR T_AnalysisConfig::execute() called without initialising" << std::endl;
◆ filterOnRoi()
◆ finalize()
void AnalysisConfig_Ntuple::finalize |
( |
| ) |
|
|
protectedvirtual |
◆ genericFlag()
◆ get_jets()
retrieve the jets from the Roi
Definition at line 134 of file AnalysisConfig_Ntuple.cxx.
139 const std::vector< Trig::Feature<xAOD::JetContainer> > jetfeatures = citr->get<
xAOD::JetContainer>(
key, TrigDefs::alsoDeactivateTEs );
141 if ( jetfeatures.empty() )
return 0;
143 for (
size_t ifeature=0 ; ifeature<jetfeatures.size() ; ifeature++ ) {
146 if ( jetfeature.
empty() )
continue;
150 if (
jets == 0 )
continue;
154 for (
int j=0 ; jitr!=
jets->end() ; ++jitr, j++ ) {
158 long unsigned jetid = (
unsigned long)ajet;
◆ getBeamspot() [1/2]
Definition at line 634 of file T_AnalysisConfig.h.
636 std::vector<double>
v;
641 if(
sc.isSuccess() && collection ) {
644 typename Collection::const_iterator trackitr = collection->begin();
645 typename Collection::const_iterator trackend = collection->end();
646 if ( trackitr!=trackend ) {
648 v[0] = (*trackitr)->vx();
649 v[1] = (*trackitr)->vy();
650 v[2] = (*trackitr)->vz();
◆ getBeamspot() [2/2]
Definition at line 663 of file T_AnalysisConfig.h.
664 std::vector< Trig::Feature<Collection> > trackcollections = citr->get<
Collection>(
key, TrigDefs::alsoDeactivateTEs );
665 std::vector<double>
v;
666 if ( !trackcollections.empty() ) {
669 for (
unsigned ifeat=0 ; ifeat<trackcollections.size() ; ifeat++ ) {
672 if ( !trackfeature.
empty() ) {
677 typename Collection::const_iterator trackitr = trigtracks->begin();
678 typename Collection::const_iterator trackend = trigtracks->end();
679 if ( trackitr!=trackend ) {
681 v[0] = (*trackitr)->vx();
682 v[1] = (*trackitr)->vy();
683 v[2] = (*trackitr)->vz();
◆ getCollection()
new MT feature access
will need this printout for debugging the feature access, so leave this commented until it has been properly debugged, then it can be removed
will not use the te name here, but keep it on just the same for the time being, for subsequent development
Definition at line 299 of file T_AnalysisConfig.h.
308 std::string key_collection =
key;
309 std::string key_tename =
"";
310 size_t pos = key_collection.find(
"/");
311 if (
pos!=std::string::npos ) {
313 key_tename =
key.substr( 0,
pos );
316 std::pair<
typename Collection::const_iterator,
317 typename Collection::const_iterator > itrpair;
325 itrpair = (*m_tdt)->associateToEventView( handle, roi_link );
◆ getUseHighestPT()
◆ getVtxIndex()
◆ initialize()
◆ keepAllEvents()
◆ loop()
void AnalysisConfig_Ntuple::loop |
( |
| ) |
|
|
protectedvirtual |
◆ mcTruth()
◆ name()
◆ operator=()
◆ processElectrons()
select offline electrons
Definition at line 703 of file T_AnalysisConfig.h.
719 # ifdef XAODTRACKING_TRACKPARTICLE_H
729 m_provider->
msg(MSG::WARNING) <<
"Error No Electron Container " << containerName <<
" !" <<
endmsg;
734 if(
sc.isFailure() || !container ) {
735 m_provider->
msg(MSG::WARNING) <<
"Error retrieving container: " << containerName <<
" !" <<
endmsg;
741 Container::const_iterator elec = container->begin();
742 Container::const_iterator elec_end = container->end();
744 for( ; elec!=elec_end ; ++elec ){
755 bool good_electron =
false;
756 # ifdef XAODTRACKING_TRACKPARTICLE_H
764 long unsigned eleid = (
unsigned long)(&eleduff) ;
774 else trk_added = selectorRef.
selectTrack( (*elec)->trackParticle() );
776 if (trk_added) eleobj.
addChild( selectorRef.
tracks().back()->id() );
777 if (elevec) elevec->push_back( eleobj );
781 return selectorRef.
tracks().size();
◆ processMuons()
select offlinqe muons
Definition at line 789 of file T_AnalysisConfig.h.
798 # ifdef XAODTRACKING_TRACKPARTICLE_H
811 m_provider->
msg(MSG::WARNING) <<
"Error No MuonCollection" << containerName <<
" !" <<
endmsg;
816 if(
sc.isFailure() || !container ) {
821 auto muon = container->begin();
822 auto muon_end = container->end();
827 # ifdef XAODTRACKING_TRACKPARTICLE_H
838 return selectorRef.
tracks().size();
◆ processTaus()
select offline taus
Definition at line 846 of file T_AnalysisConfig.h.
858 # ifdef XAODTRACKING_TRACKPARTICLE_H
878 if (
sc != StatusCode::SUCCESS) {
883 Container::const_iterator tau = container->begin();
884 Container::const_iterator tau_end = container->end();
887 for ( ; tau!=tau_end ; ++tau ) {
889 # ifdef XAODTRACKING_TRACKPARTICLE_H
892 # ifndef XAODTAU_VERSIONS_TAUJET_V3_H
893 int N = (*tau)->nTracks();
902 unsigned N = (*tau)->numTrack();
906 bool good_tau =
false;
907 # ifdef XAODTRACKING_TRACKPARTICLE_H
917 long unsigned tauid = (
unsigned long)(&duff) ;
925 bool trk_added =
false;
927 for (
unsigned i=
N ;
i-- ; ) {
928 # ifdef XAODTAU_TAUTRACK_H
930 std::vector< ElementLink<xAOD::TrackParticleContainer> > alink = (*tau)->track(
i)->trackLinks();
934 for (
size_t ilink=0 ; ilink<alink.size() ; ilink++ ) {
943 if ( trk_added ) tauobj.
addChild( selectorRef.
tracks().back()->id() );
945 if ( tauvec ) tauvec->push_back( tauobj );
949 return selectorRef.
tracks().size();
◆ referenceChains()
◆ releaseData() [1/2]
◆ releaseData() [2/2]
◆ requireDecision()
◆ retrieve()
old implementation - leave in place until after the full validation ... return m_provider->evtStore()->retrieve( container, containerName);
commented code intentionally left for development purposes ... std::cout << "\t\t\t T_AnalysisConfig::selectTracks() - > TrackSelector" << std::endl;
Definition at line 573 of file T_AnalysisConfig.h.
578 if ( handle.isValid() ) {
581 collection = handle.cptr();
582 return StatusCode::SUCCESS;
585 return StatusCode::FAILURE;
◆ select() [1/3]
Definition at line 371 of file T_AnalysisConfig.h.
380 if ( vtx_itrpair.first == vtx_itrpair.second ) {
385 m_provider->
msg(
MSG::DEBUG) <<
"\txAOD::VertexContainer found with size " << (vtx_itrpair.second - vtx_itrpair.first)
388 return select( vertices, vtx_itrpair.first, vtx_itrpair.second );
◆ select() [2/3]
Definition at line 394 of file T_AnalysisConfig.h.
400 if (
retrieve( xaodVtxCollection,
key ).isFailure()) {
405 if ( xaodVtxCollection!=0 ) {
409 return select( vertices, xaodVtxCollection->
begin(), xaodVtxCollection->
end() );
415 for ( ; vtxitr != xaodVtxCollection->
end(); vtxitr++ ) {
416 if ( (*vtxitr)->nTrackParticles()>0 && (*vtxitr)->vertexType()!=0 ) {
424 (*vtxitr)->nTrackParticles(),
426 (*vtxitr)->chiSquared(),
427 (*vtxitr)->numberDoF() ) );
◆ select() [3/3]
variances
quality
Definition at line 342 of file T_AnalysisConfig.h.
348 for ( ; vtxitr!=vtx_end ; ++vtxitr ) {
349 if ( (*vtxitr)->vertexType()!=0 ) {
359 (*vtxitr)->nTrackParticles(),
361 (*vtxitr)->chiSquared(),
362 (*vtxitr)->numberDoF() ) );
◆ selectionChains()
◆ selectTracks() [1/4]
will need this printout for debugging the feature access, so leave this commented until it has been properly debugged, then it can be removed
will not use the te name here, but keep it on just the same for the time being, for subsequent development
Definition at line 441 of file T_AnalysisConfig.h.
453 std::string key_collection =
key;
454 std::string key_tename =
"";
455 size_t pos = key_collection.find(
"/");
456 if (
pos!=std::string::npos ) {
458 key_tename =
key.substr( 0,
pos );
461 std::pair<
typename Collection::const_iterator,
462 typename Collection::const_iterator > itrpair;
470 itrpair = (*m_tdt)->associateToEventView( handle, roi_link );
472 if ( itrpair.first != itrpair.second ) {
473 selector->selectTracks( itrpair.first, itrpair.second );
◆ selectTracks() [2/4]
commented code intentionally left for development purposes ...
Definition at line 591 of file T_AnalysisConfig.h.
594 if ( handle.isValid() ) {
597 selector->selectTracks( handle.cptr() );
◆ selectTracks() [3/4]
lagacy run 2 access
Definition at line 487 of file T_AnalysisConfig.h.
491 std::string key_collection =
key;
492 std::string key_tename =
"";
493 size_t pos = key_collection.find(
"/");
494 if (
pos!=std::string::npos ) {
496 key_tename =
key.substr( 0,
pos );
499 std::vector< Trig::Feature<Collection> > trackcollections = citr->get<
Collection>( key_collection, TrigDefs::alsoDeactivateTEs, key_tename );
500 if ( !trackcollections.empty() ) {
502 for (
unsigned ifeat=0 ; ifeat<trackcollections.size() ; ifeat++ ) {
504 if ( !trackfeature.
empty() ) {
507 selector->selectTracks( trigtracks );
◆ selectTracks() [4/4]
NB: because we want to use this for the L2Star chains, we have to use this method, not the above method without the TruthMap argument - if we don't want/have the TruthMap, just set the pointer to 0 - there should be abetter way to do this, but shan't worry about it now.
get the correspondiong TE
get all the named collections attached to the TE
now got the collectionVector, can navigate through this
NB: this is safer than using index as an index, ie collectionVector[index] since it will do nothing if index is out of range, although it will be a little slower
useful for debug
Definition at line 523 of file T_AnalysisConfig.h.
527 std::vector< Trig::Feature<Collection> > trackcollections = citr->get<
Collection>(
key, TrigDefs::alsoDeactivateTEs );
528 if ( !trackcollections.empty() ) {
536 for (
unsigned ifeat=0 ; ifeat<trackcollections.size() ; ifeat++ ) {
544 std::vector< const Collection* > collectionVector;
551 for (
unsigned iv=collectionVector.size() ; iv-- ; ) {
555 if (
index!=iv )
continue;
558 selector->selectTracks( collectionVector[iv], truthmap );
◆ selectTracksNotEmpty()
Definition at line 608 of file T_AnalysisConfig.h.
610 if (
key.empty() )
return false;
615 if ( !(
sc.isSuccess() && collection ) )
return false;
620 if ( collection->size() == 0 ) {
625 selector->selectTracks( collection );
◆ set_ptmin()
void AnalysisConfig_Ntuple::set_ptmin |
( |
double |
d = 0 | ) |
|
|
inline |
◆ setBeamX()
◆ setBeamY()
◆ setBeamZ()
◆ setFilterOnRoi()
◆ setGenericFlag()
◆ setMCTruth()
◆ setRequireDecision()
◆ setUseHighestPT()
◆ setVtxIndex()
◆ testChains()
◆ m_analysis
◆ m_analysisInstanceName
◆ m_associator
◆ m_beamX
◆ m_beamY
◆ m_beamZ
◆ m_chainNames
std::vector<ChainString> AnalysisConfig_Ntuple::m_chainNames |
|
protected |
◆ m_Dir
TDirectory* AnalysisConfig_Ntuple::m_Dir |
|
protected |
◆ m_doBjets
bool AnalysisConfig_Ntuple::m_doBjets |
|
protected |
◆ m_doMuons
bool AnalysisConfig_Ntuple::m_doMuons |
|
protected |
◆ m_doMuonsSP
bool AnalysisConfig_Ntuple::m_doMuonsSP |
|
protected |
◆ m_doOffline
bool AnalysisConfig_Ntuple::m_doOffline |
|
protected |
◆ m_doVertices
bool AnalysisConfig_Ntuple::m_doVertices |
|
protected |
◆ m_electronIsLRT
std::vector<bool> AnalysisConfig_Ntuple::m_electronIsLRT |
|
protected |
◆ m_electronType
std::vector<std::string> AnalysisConfig_Ntuple::m_electronType |
|
protected |
◆ m_event
◆ m_File
TFile* AnalysisConfig_Ntuple::m_File |
|
protected |
◆ m_filterOnRoi
◆ m_filters
◆ m_finalised
bool AnalysisConfig_Ntuple::m_finalised |
|
protected |
◆ m_genericFlag
◆ m_hasTruthMap
bool AnalysisConfig_Ntuple::m_hasTruthMap |
|
protected |
◆ m_keepAllEvents
◆ m_keys
◆ m_mcTruth
◆ m_muonIsLRT
std::vector<bool> AnalysisConfig_Ntuple::m_muonIsLRT |
|
protected |
◆ m_muonType
std::vector<std::string> AnalysisConfig_Ntuple::m_muonType |
|
protected |
◆ m_outputFileName
std::string AnalysisConfig_Ntuple::m_outputFileName |
|
protected |
◆ m_parentTruthPdgId
int AnalysisConfig_Ntuple::m_parentTruthPdgId |
|
protected |
◆ m_printInfo
bool AnalysisConfig_Ntuple::m_printInfo |
|
protected |
◆ m_provider
◆ m_ptmin
double AnalysisConfig_Ntuple::m_ptmin |
|
protected |
◆ m_rawElectrons
std::vector<std::string> AnalysisConfig_Ntuple::m_rawElectrons |
|
protected |
◆ m_refChainKey
◆ m_refChainName
◆ m_releaseData
◆ m_requireDecision
◆ m_selectorRef
◆ m_selectorSel
◆ m_selectorTest
◆ m_tauEtCutOffline
bool AnalysisConfig_Ntuple::m_tauEtCutOffline |
|
protected |
◆ m_tauProngs
std::vector<std::string> AnalysisConfig_Ntuple::m_tauProngs |
|
protected |
◆ m_tauType
std::vector<std::string> AnalysisConfig_Ntuple::m_tauType |
|
protected |
◆ m_tdt
◆ m_testChainKey
◆ m_testChainName
◆ m_Tree
TTree* AnalysisConfig_Ntuple::m_Tree |
|
protected |
◆ m_TruthPdgId
int AnalysisConfig_Ntuple::m_TruthPdgId |
|
protected |
◆ m_types
◆ m_useBeamCondSvc
bool AnalysisConfig_Ntuple::m_useBeamCondSvc |
|
protected |
◆ m_useHighestPT
◆ m_vertexType
std::vector<std::string> AnalysisConfig_Ntuple::m_vertexType |
|
protected |
◆ m_vtxIndex
The documentation for this class was generated from the following files:
virtual void initialise()=0
standard operation interface
std::vector< std::vector< std::string > > m_types
Const iterator class for DataVector/DataList.
bool isGoodOffline(const Analysis::Electron &elec)
@ z
global position (cartesian)
AthReentrantAlgorithm * m_provider
virtual void clear() override
ToolHandle< Trig::TrigDecisionTool > * m_tdt
DataModel_detail::const_iterator< DataVector > const_iterator
Standard const_iterator.
std::vector< bool > m_muonIsLRT
std::vector< std::string > m_vertexType
std::vector< ChainString > m_chainNames
sgkey_t key() const
Get the key that we reference, as a hash.
virtual double phi() const
The azimuthal angle ( ) of the particle.
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
std::vector< bool > m_electronIsLRT
bool empty() const
test method to check if the object is truly there
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
std::string m_analysisInstanceName
storage of the time histories of all the cells
std::vector< std::vector< std::string > > m_keys
The NavigationCore class, adds on top of the TrigNavStructure the EDM read-only handling.
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const HLT::TriggerElement * te() const
explicit conversion to TriggerElement
bool getFeatures(const TriggerElement *te, std::vector< const T * > &features, const std::string &label="", std::map< const T *, std::string > *labels=0) const
retrieve features attached to given TriggerElement
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
virtual void finalize()
finalise the analysis - take ratios for efficiencies etc
std::vector< std::string > m_muonType
::StatusCode StatusCode
StatusCode definition for legacy code.
TriggerElement is the basic ingreedient of the interface between HLT algorithms and the navigation It...
TrackAnalysis * m_analysis
Class describing a tau jet.
std::vector< std::string > m_rawElectrons
definition of StoreGate container holding a vector of Analysis::Muon
std::vector< std::string > m_tauProngs
uint32_t CLID
The Class ID type.
virtual double eta() const
The pseudorapidity ( ) of the particle.
bool selectTrack(const TrigInDetTrack *track, const TrigInDetTrackTruthMap *truthMap=0)
neater code to make use of vector function also for a single ancestor pdgid, instead of the full code...
const std::string selection
StatusCode retrieve(Collection const *&collection, const std::string &key="")
const std::vector< TIDA::Track * > & tracks() const
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const std::string & releaseData() const
std::string date()
sadly, includes a return at the end
const xAOD::TrackParticle * getOriginalTrackParticle(const xAOD::Electron *el)
Helper function for getting the "Original" Track Particle (i.e before GSF) via the electron.
std::vector< std::string > m_tauType
void keepAllEvents(bool b)
std::vector< std::vector< TrackFilter * > > m_filters
virtual double pt() const
The transverse momentum ( ) of the particle.
void addChild(unsigned long id)
size_type size() const noexcept
Returns the number of elements in the collection.
const std::string & name() const
std::string m_outputFileName
const T * cptr() const
explicit conversion to object
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
std::vector< std::string > m_electronType
bool select(std::vector< TIDA::Vertex > &vertices, xAOD::VertexContainer::const_iterator vtx_start, xAOD::VertexContainer::const_iterator vtx_end)
std::string m_releaseData
std::vector< std::vector< std::string > > m_chainNames