 |
ATLAS Offline Software
|
#include <IDPerfMonEoverP.h>
|
| IDPerfMonEoverP (const std::string &name, ISvcLocator *pSvcLocator) |
| Default constructor. More...
|
|
| ~IDPerfMonEoverP () |
| Destructor. More...
|
|
StatusCode | initialize () |
| Gaudi algorithm hooks. More...
|
|
StatusCode | finalize () |
|
StatusCode | execute () |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
void | addToValidationNtuple (const Trk::Perigee *, const xAOD::CaloCluster *, int isOrginal) |
| addToValidationNutple More...
|
|
void | clearValidationNtuple () |
|
void | validationAction () |
|
void | deleteAction () const |
|
void | fillIsEM (const xAOD::Electron *eg) |
|
void | fillGeneral (const xAOD::Electron *eg) |
|
bool | passMETCleaningCuts () const |
|
bool | fillVertexInformation (std::map< const xAOD::TrackParticle *, VxPos > &trackParticleVertexMap, xAOD::Vertex const *&primaryVertexFirstCandidate) |
|
bool | storeMETinformation () |
|
VxPos | findAssociatedVertex (std::map< const xAOD::TrackParticle *, VxPos > &trackParticleVertexMap, const xAOD::Vertex *primaryVertexFirstCandidate, const xAOD::Electron *) const |
|
void | extrapolateToTheCalo (const Trk::TrackParameters *trkPar, const xAOD::CaloCluster *cluster, double *eta, double *phi, double *deltaEta, double *delatPhi) |
|
void | fillElectronInfo (const xAOD::Electron *p) |
|
void | fillTriggerInformation () |
|
bool | fillLastMeasurement (const Trk::Track *track, const int fitter) |
|
double | correctIP_PV (int electron_i, bool do_d0) |
|
std::vector< int > | FillSimpleTree () |
|
bool | passWenuSelection (std::vector< int > &electrons) |
|
bool | passZeeSelection (std::vector< int > &electrons) |
|
double | getMassCluster (int el1, int el2) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
std::string | m_InputElectronContainerName |
| Electron collection input name. More...
|
|
std::string | m_metRefFinalName |
|
std::string | m_jetContainerName |
| JEt collection input name. More...
|
|
std::string | m_missingEtObjectName |
| MET input name. More...
|
|
std::string | m_primaryVertexCollection |
| Primary vertex input name. More...
|
|
std::string | m_OutputTrackCollectionName_no1 |
| Name of output of Refitted Inner Detector Tracks. More...
|
|
std::string | m_OutputTrackCollectionName_no2 |
|
TrackCollection * | m_refittedTracks_no1 |
| Refitted track collection. More...
|
|
TrackCollection * | m_refittedTracks_no2 |
|
SG::ReadHandleKey< xAOD::EventInfo > | m_evt {this, "EvtInfo", "EventInfo", "EventInfo name"} |
| ReadHandle to the Event Info. More...
|
|
ToolHandle< IegammaTrkRefitterTool > | m_TrackRefitter |
| The track refitter. More...
|
|
ToolHandle< IegammaTrkRefitterTool > | m_TrackRefitter_no2 |
| The track refitter. More...
|
|
ToolHandle< Trig::TrigDecisionTool > | m_trigDec |
| The trigger decision tool. More...
|
|
ToolHandle< IJetSelector > | m_jetCleaningTool {this,"JetCleaningTool","JetCleaningTool/JetCleaningTool",""} |
| jet selector tool More...
|
|
bool | m_refitEverything |
|
bool | m_isDATA |
|
bool | m_validationMode |
| < boolean to switch to validation mode More...
|
|
bool | m_fillDetailedTree |
| validation tree name - to be acessed by this from root More...
|
|
std::string | m_validationTreeName |
| validation tree description - second argument in TTree More...
|
|
std::string | m_validationTreeDescription |
| stream/folder to for the TTree to be written out More...
|
|
std::string | m_validationTreeFolder |
| Root Validation Tree. More...
|
|
TTree * | m_validationTree |
|
unsigned int | m_runNumber |
|
unsigned int | m_evtNumber |
|
unsigned int | m_lumi_block |
|
int | m_nelectrons |
|
int | m_electronCounter |
| counter for electrons More...
|
|
float | m_electronTheta [3][NOS_ELECTRONS] {} |
| Track theta on Surface. More...
|
|
float | m_electronPhi [3][NOS_ELECTRONS] {} |
| Track Phi on electron. More...
|
|
float | m_electronQoverP [3][NOS_ELECTRONS] {} |
| Track q over p on electron. More...
|
|
float | m_electrond0 [3][NOS_ELECTRONS] {} |
| Track Phi on electron. More...
|
|
float | m_electronz0 [3][NOS_ELECTRONS] {} |
| Track q over p on electron. More...
|
|
float | m_electronLMQoverP [3][NOS_ELECTRONS] {} |
| Track q over p on electron. More...
|
|
float | m_electronErrTheta [3][NOS_ELECTRONS] {} |
| Track theta error on electron. More...
|
|
float | m_electronErrPhi [3][NOS_ELECTRONS] {} |
| Track phi error on electron. More...
|
|
float | m_electronErrQoverP [3][NOS_ELECTRONS] {} |
|
float | m_electronErrd0 [3][NOS_ELECTRONS] {} |
|
float | m_electronErrz0 [3][NOS_ELECTRONS] {} |
|
int | m_nTRT [NOS_ELECTRONS] {} |
|
int | m_nSCT [NOS_ELECTRONS] {} |
|
int | m_nBLayer [NOS_ELECTRONS] {} |
|
int | m_nPIX [NOS_ELECTRONS] {} |
|
int | m_nTRTout [NOS_ELECTRONS] {} |
|
int | m_nSCTout [NOS_ELECTRONS] {} |
|
int | m_nPIXout [NOS_ELECTRONS] {} |
|
int | m_nTRTHT [NOS_ELECTRONS] {} |
|
int | m_nTRTHTout [NOS_ELECTRONS] {} |
|
int | m_author [NOS_ELECTRONS] {} |
|
float | m_ClusterEnergy [NOS_ELECTRONS] {} |
|
float | m_ClusterEta [NOS_ELECTRONS] {} |
|
float | m_ClusterPhi [NOS_ELECTRONS] {} |
|
bool | m_IsEMLoose [NOS_ELECTRONS] {} |
|
bool | m_IsEMMedium [NOS_ELECTRONS] {} |
|
bool | m_IsEMTight [NOS_ELECTRONS] {} |
|
bool | m_IsEMTightTRT [NOS_ELECTRONS] {} |
|
bool | m_isGoodOQ [NOS_ELECTRONS] {} |
|
int | m_associatedToVtx [NOS_ELECTRONS] {} |
|
VxPos | m_vxpos [NOS_ELECTRONS] |
|
int | m_nbpv |
|
int | m_pvtype [NO_PV] {} |
|
int | m_pvnbtk [NO_PV] {} |
|
float | m_pvsumpt [NO_PV] {} |
|
float | m_pvx [NO_PV] {} |
|
float | m_pvy [NO_PV] {} |
|
float | m_pvz [NO_PV] {} |
|
float | m_errpvx [NO_PV] {} |
|
float | m_errpvy [NO_PV] {} |
|
float | m_errpvz [NO_PV] {} |
|
float | m_covpvxpvy [NO_PV] {} |
|
float | m_covpvypvz [NO_PV] {} |
|
float | m_covpvzpvx [NO_PV] {} |
|
bool | m_METgoodness |
|
float | m_sumet |
|
float | m_missingEt |
|
float | m_missingEtx |
|
float | m_missingEty |
|
float | m_ePID_ShowerType [50][NOS_ELECTRONS] {} |
|
float | m_ePID_IsolationType [50][NOS_ELECTRONS] {} |
|
float | m_ePID_TrackCaloMatchType [50][NOS_ELECTRONS] {} |
|
float | m_ePID_SummaryType [50][NOS_ELECTRONS] {} |
|
std::vector< std::pair< xAOD::EgammaParameters::ShowerShapeType, std::string > > | m_PID_ShowerType_Names |
|
std::vector< std::pair< xAOD::Iso::IsolationType, std::string > > | m_PID_IsolationType_Names |
|
std::vector< std::pair< xAOD::EgammaParameters::TrackCaloMatchType, std::string > > | m_PID_TrackCaloMatchType_Names |
|
std::vector< std::pair< xAOD::SummaryType, std::string > > | m_PID_SummaryType_Names |
|
bool | m_trigger [50] {} |
|
std::vector< std::string > | m_triggerNames |
|
TH1F * | m_ZeeLooseMassOS_Cluster |
|
TH1F * | m_ZeeLooseMassSS_Cluster |
|
TH1F * | m_ZeeMediumMassOS_Cluster |
|
TH1F * | m_ZeeMediumMassSS_Cluster |
|
TH2F * | m_ZeeMediumOS_ClusterPtEta |
|
TH1F * | m_WenuLooseElectronET |
|
TH1F * | m_WenuTight_Met |
|
TH1F * | m_WenuTight_MT |
|
TH1F * | m_WenuTightMet_MT |
|
TH1F * | m_WenuTightElectronET |
|
TH1F * | m_WenuTightW_PT |
|
TH2F * | m_WenuTightElectron_PTEtaPos |
|
TH2F * | m_WenuTightElectron_PTEtaNeg |
| validation tree name - to be acessed by this from root More...
|
|
std::string | m_smallValidationTreeName |
| validation tree description - second argument in TTree More...
|
|
std::string | m_smallValidationTreeDescription |
| stream/folder to for the TTree to be written out More...
|
|
std::string | m_smallValidationTreeFolder |
| Root Validation Tree. More...
|
|
TTree * | m_smallValidationTree |
|
double | m_small_QoverP |
|
double | m_small1_QoverP |
|
double | m_small2_QoverP |
|
double | m_smallClusterEnergy |
|
double | m_smallClusterPhi |
|
double | m_smallClusterEta |
|
double | m_smallTrackTheta |
|
double | m_smallCharge |
|
double | m_smalld0 |
|
double | m_smallz0 |
|
std::string | m_lhTune |
|
AsgElectronLikelihoodTool * | m_LHToolLoose2015 |
|
AsgElectronLikelihoodTool * | m_LHToolMedium2015 |
|
AsgElectronLikelihoodTool * | m_LHToolTight2015 |
|
DataObjIDColl | m_extendedExtraObjects |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Create a simple ntuple to perform EoverP studies with
- Author
- A. Morley
Definition at line 81 of file IDPerfMonEoverP.h.
◆ StoreGateSvc_t
◆ IDPerfMonEoverP()
IDPerfMonEoverP::IDPerfMonEoverP |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~IDPerfMonEoverP()
IDPerfMonEoverP::~IDPerfMonEoverP |
( |
| ) |
|
◆ addToValidationNtuple()
addToValidationNutple
Definition at line 669 of file IDPerfMonEoverP.cxx.
672 if (isOriginal >= 0 && isOriginal <3){
689 ATH_MSG_DEBUG(
"No MeasuredPerigee - cannot add data to ntuple" );
◆ clearValidationNtuple()
void IDPerfMonEoverP::clearValidationNtuple |
( |
| ) |
|
|
private |
Definition at line 742 of file IDPerfMonEoverP.cxx.
746 for (
int j = 0 ; j <3 ; ++j){
773 for (
int j = 0 ; j < 50 ; ++j){
◆ correctIP_PV()
double IDPerfMonEoverP::correctIP_PV |
( |
int |
electron_i, |
|
|
bool |
do_d0 |
|
) |
| |
|
private |
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ deleteAction()
void IDPerfMonEoverP::deleteAction |
( |
| ) |
const |
|
private |
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode IDPerfMonEoverP::execute |
( |
| ) |
|
Definition at line 462 of file IDPerfMonEoverP.cxx.
466 std::map<const xAOD::TrackParticle*, VxPos > trackParticleVertexMap;
467 const xAOD::Vertex* primaryVertexFirstCandidate =
nullptr;
471 ATH_MSG_WARNING(
" Validation Mode has been turned off ALG will do not fill Ntuples" );
501 if (
sc!=StatusCode::SUCCESS){
504 return StatusCode::SUCCESS;
508 if (ElectronInput_container->
empty() ){
510 return StatusCode::SUCCESS;
518 electron_iterator
iter = ElectronInput_container->
begin();
519 electron_iterator iterEnd = ElectronInput_container->
end();
553 ATH_MSG_DEBUG(
"Electron with no track particle?? Possibly Forward");
559 primaryVertexFirstCandidate,
586 if (
sc == StatusCode::SUCCESS){
587 Trk::Track* trkTrack= cache1.refittedTrack.release();
604 if (
sc == StatusCode::SUCCESS){
605 Trk::Track* trkTrack= cache2.refittedTrack.release();
627 for(
const auto & thisGoodElectron: goodElectrons){
630 (*ElectronInput_container)[thisGoodElectron]->trackParticle()->
track(),
632 if (
sc == StatusCode::SUCCESS){
633 Trk::Track* trkTrack= cache.refittedTrack.release();
634 selectedElectrons->push_back(trkTrack);
646 delete selectedElectrons;
647 return (StatusCode::FAILURE);
654 delete selectedElectrons;
655 return (StatusCode::FAILURE);
662 delete selectedElectrons;
663 return (StatusCode::FAILURE);
666 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ extrapolateToTheCalo()
◆ fillElectronInfo()
◆ fillGeneral()
◆ fillIsEM()
◆ fillLastMeasurement()
Definition at line 999 of file IDPerfMonEoverP.cxx.
1002 if(!
track)
return false;
1006 if (oldTrackStates == 0)
1019 trkPara = (*rItTSoS)->trackParameters();
◆ FillSimpleTree()
std::vector< int > IDPerfMonEoverP::FillSimpleTree |
( |
| ) |
|
|
private |
Definition at line 1251 of file IDPerfMonEoverP.cxx.
1254 std::vector<int> electronsZee;
1255 std::vector<int> electronsWenu;
1258 std::vector<int> allInterestingElectrons;
1259 for(
int i(0);
i < (
int)electronsZee.size(); ++
i){
1260 int ele = electronsZee[
i];
1261 if (
std::find(allInterestingElectrons.begin(), allInterestingElectrons.end(), ele)==allInterestingElectrons.end() ){
1262 allInterestingElectrons.push_back(ele);
1265 for(
int i(0);
i < (
int)electronsWenu.size(); ++
i){
1266 int ele = electronsWenu[
i];
1267 if (
std::find(allInterestingElectrons.begin(), allInterestingElectrons.end(), ele)==allInterestingElectrons.end() ){
1268 allInterestingElectrons.push_back(ele);
1271 ATH_MSG_DEBUG(
" SimpleTreeElectrons " << allInterestingElectrons.size() );
1272 for(
int i(0);
i < (
int)allInterestingElectrons.size(); ++
i){
1273 int ele = allInterestingElectrons[
i];
1288 return allInterestingElectrons;
◆ fillTriggerInformation()
void IDPerfMonEoverP::fillTriggerInformation |
( |
| ) |
|
|
private |
◆ fillVertexInformation()
Definition at line 873 of file IDPerfMonEoverP.cxx.
880 if (
sc.isFailure()) {
887 <<
" = " << vxContainer->size() );
888 primaryVertexFirstCandidate =
std::begin(*vxContainer)[0];
889 ATH_MSG_DEBUG(
"The primary vertex : " << primaryVertexFirstCandidate->type() );
890 for(
const auto* vxI : *vxContainer ) {
891 int type = (
int)(vxI)->vertexType();
894 const std::vector< ElementLink< xAOD::TrackParticleContainer > > tpLinks = vxI->
trackParticleLinks();
896 if(not tpLinks.empty()) {
897 nbtk = tpLinks.size();
898 for(
const auto& tp_elem : tpLinks ){
900 VxPos myVxPos = std::make_pair(vxI,npv);
901 trackParticleVertexMap.insert( std::make_pair( trk, myVxPos ) );
903 sumpt += trk->
p4().Perp();
907 << primaryVertex->
position().x() <<
","
908 << primaryVertex->
position().y() <<
","
909 << primaryVertex->
position().z() <<
")"
912 <<
" sumpt=" << sumpt);
917 <<
". Truncated event. " );
929 ATH_MSG_DEBUG(
"Vertex " << npv <<
" has no tracks associated to it!" );
940 if (npv == 0)
return false;
◆ finalize()
StatusCode IDPerfMonEoverP::finalize |
( |
| ) |
|
◆ findAssociatedVertex()
Definition at line 944 of file IDPerfMonEoverP.cxx.
950 trackParticleVertexMap.find(
eg->trackParticle());
951 if (tpVx == trackParticleVertexMap.end() ){
952 return std::make_pair( primaryVertexFirstCandidate,-1 );
954 return (*tpVx).second;
◆ getMassCluster()
double IDPerfMonEoverP::getMassCluster |
( |
int |
el1, |
|
|
int |
el2 |
|
) |
| |
|
private |
◆ initialize()
StatusCode IDPerfMonEoverP::initialize |
( |
| ) |
|
Gaudi algorithm hooks.
Definition at line 149 of file IDPerfMonEoverP.cxx.
161 return StatusCode::FAILURE;
168 return StatusCode::FAILURE;
175 return StatusCode::FAILURE;
242 "HLT_e24_lhmedium_idperf_L1EM20VH",
243 "HLT_e24_medium_L1EM18VH",
254 std::string FitterNames[3] = {
"GX2",
"Refitted1",
"Refitted2"};
359 if (tHistSvc.retrieve().isFailure()){
360 ATH_MSG_ERROR(
"initialize() Could not find Hist Service -> Switching ValidationMode Off !");
366 ATH_MSG_ERROR(
"initialize() Could not register the validation Tree -> Switching ValidationMode Off !");
371 ATH_MSG_ERROR(
"initialize() Could not register the validation Tree -> Switching ValidationMode Off !");
390 bool somethingFailed{};
404 if (somethingFailed)
ATH_MSG_ERROR(
"initialize() Could not register histogram ");
414 ATH_MSG_INFO(
"IDPerfMonEoverP::Initialize() -- Setting up electron LH tool.");
427 std::string confDir =
"ElectronPhotonSelectorTools/offline/"+
m_lhTune+
"/";
428 std::string configFileL = confDir+
"ElectronLikelihoodLooseOfflineConfig2015.conf";
429 std::string configFileM = confDir+
"ElectronLikelihoodMediumOfflineConfig2015.conf";
430 std::string configFileT = confDir+
"ElectronLikelihoodTightOfflineConfig2015.conf";
433 ATH_MSG_WARNING(
"Failure loading ConfigFile in loose electron likelihood tool.");
435 ATH_MSG_WARNING(
"Failure loading ConfigFile in medium electron likelihood tool.");
437 ATH_MSG_WARNING(
"Failure loading ConfigFile in tight electron likelihood tool.");
441 ATH_MSG_WARNING(
"Loose electron likelihood tool initialize() failed!");
444 ATH_MSG_WARNING(
"Medium electron likelihood tool initialize() failed!");
447 ATH_MSG_WARNING(
"Tight electron likelihood tool initialize() failed!");
449 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ passMETCleaningCuts()
bool IDPerfMonEoverP::passMETCleaningCuts |
( |
| ) |
const |
|
private |
Definition at line 856 of file IDPerfMonEoverP.cxx.
860 if(
sc.isFailure() || !jetTDS ) {
864 if (jetTDS->
empty())
return true;
865 bool cleanJet =
true;
866 for(
const auto* jet_elem : *jetTDS ) {
◆ passWenuSelection()
bool IDPerfMonEoverP::passWenuSelection |
( |
std::vector< int > & |
electrons | ) |
|
|
private |
Definition at line 1131 of file IDPerfMonEoverP.cxx.
1134 if(
m_nbpv<1)
return false;
1135 bool primaryVertexOk(
false);
1139 if (
m_pvnbtk[
i] > 2) primaryVertexOk =
true;
1141 if(!primaryVertexOk)
return false;
1151 std::vector<int> goodLooseElectrons;
1157 if (clusterEt <= 25000)
continue;
1165 goodLooseElectrons.push_back(ele);
1169 for(
int gele(0); gele < (
int) goodLooseElectrons.size(); ++gele){
1170 int ele = goodLooseElectrons[gele];
1175 int nMediumElectrons(0);
1176 int nTightElectrons(0);
1177 int tightElectron(0);
1179 for(
int gele(0); gele < (
int) goodLooseElectrons.size(); ++gele){
1181 int ele = goodLooseElectrons[gele];
1185 tightElectron = ele;
1189 if (nMediumElectrons >2)
1192 if (nTightElectrons <1)
1200 if(massT > 0) massT =std::sqrt(massT);
1210 if (massT <= 50000)
return false;
1217 double wpt = sumpx*sumpx +sumpy*sumpy - massT*massT;
1218 if(wpt > 0) wpt =std::sqrt(wpt);
◆ passZeeSelection()
bool IDPerfMonEoverP::passZeeSelection |
( |
std::vector< int > & |
electrons | ) |
|
|
private |
Definition at line 1036 of file IDPerfMonEoverP.cxx.
1041 if(
m_nbpv<1)
return false;
1042 bool primaryVertexOk(
false);
1046 if (
m_pvnbtk[
i] > 2) primaryVertexOk =
true;
1048 if(!primaryVertexOk)
return false;
1054 std::vector<int> goodLooseElectrons;
1061 if (clusterEt <= 25000)
continue;
1073 goodLooseElectrons.push_back(ele);
1076 int pairsLooseInMassWindow = 0;
1078 ATH_MSG_DEBUG(
"N Loose electrons " << goodLooseElectrons.size());
1081 for(
int gele1 = 0; gele1 < (
int)goodLooseElectrons.size()-1; ++gele1){
1082 for(
int gele2 = gele1+1; gele2 < (
int)goodLooseElectrons.size(); ++gele2){
1083 int ele1 = goodLooseElectrons[gele1];
1084 int ele2 = goodLooseElectrons[gele2];
1086 if (
mass > 60000 &&
mass < 120000){
1087 ++pairsLooseInMassWindow;
1096 if (pairsLooseInMassWindow < 1)
return false;
1097 std::vector<int> goodMediumElectrons;
1099 for(
int gele = 0; gele < (
int)goodLooseElectrons.size(); ++gele){
1100 int ele = goodLooseElectrons[gele];
1102 goodMediumElectrons.push_back(ele);
1107 if (goodMediumElectrons.size() != 2)
return false;
1111 if (
mass > 66000 &&
mass < 116000){
1114 electrons.push_back(goodMediumElectrons[0]);
1115 electrons.push_back(goodMediumElectrons[1]);
◆ renounce()
◆ renounceArray()
◆ storeMETinformation()
bool IDPerfMonEoverP::storeMETinformation |
( |
| ) |
|
|
private |
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ validationAction()
void IDPerfMonEoverP::validationAction |
( |
| ) |
|
|
private |
◆ m_associatedToVtx
◆ m_author
◆ m_ClusterEnergy
◆ m_ClusterEta
◆ m_ClusterPhi
◆ m_covpvxpvy
float IDPerfMonEoverP::m_covpvxpvy[NO_PV] {} |
|
private |
◆ m_covpvypvz
float IDPerfMonEoverP::m_covpvypvz[NO_PV] {} |
|
private |
◆ m_covpvzpvx
float IDPerfMonEoverP::m_covpvzpvx[NO_PV] {} |
|
private |
◆ m_detStore
◆ m_electronCounter
int IDPerfMonEoverP::m_electronCounter |
|
private |
◆ m_electrond0
◆ m_electronErrd0
◆ m_electronErrPhi
◆ m_electronErrQoverP
◆ m_electronErrTheta
◆ m_electronErrz0
◆ m_electronLMQoverP
◆ m_electronPhi
◆ m_electronQoverP
◆ m_electronTheta
◆ m_electronz0
◆ m_ePID_IsolationType
float IDPerfMonEoverP::m_ePID_IsolationType[50][NOS_ELECTRONS] {} |
|
private |
◆ m_ePID_ShowerType
◆ m_ePID_SummaryType
◆ m_ePID_TrackCaloMatchType
float IDPerfMonEoverP::m_ePID_TrackCaloMatchType[50][NOS_ELECTRONS] {} |
|
private |
◆ m_errpvx
float IDPerfMonEoverP::m_errpvx[NO_PV] {} |
|
private |
◆ m_errpvy
float IDPerfMonEoverP::m_errpvy[NO_PV] {} |
|
private |
◆ m_errpvz
float IDPerfMonEoverP::m_errpvz[NO_PV] {} |
|
private |
◆ m_evt
◆ m_evtNumber
unsigned int IDPerfMonEoverP::m_evtNumber |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_fillDetailedTree
bool IDPerfMonEoverP::m_fillDetailedTree |
|
private |
validation tree name - to be acessed by this from root
Definition at line 181 of file IDPerfMonEoverP.h.
◆ m_InputElectronContainerName
std::string IDPerfMonEoverP::m_InputElectronContainerName |
|
private |
◆ m_isDATA
bool IDPerfMonEoverP::m_isDATA |
|
private |
◆ m_IsEMLoose
◆ m_IsEMMedium
◆ m_IsEMTight
◆ m_IsEMTightTRT
◆ m_isGoodOQ
◆ m_jetCleaningTool
◆ m_jetContainerName
std::string IDPerfMonEoverP::m_jetContainerName |
|
private |
◆ m_LHToolLoose2015
◆ m_LHToolMedium2015
◆ m_LHToolTight2015
◆ m_lhTune
std::string IDPerfMonEoverP::m_lhTune |
|
private |
◆ m_lumi_block
unsigned int IDPerfMonEoverP::m_lumi_block |
|
private |
◆ m_METgoodness
bool IDPerfMonEoverP::m_METgoodness |
|
private |
◆ m_metRefFinalName
std::string IDPerfMonEoverP::m_metRefFinalName |
|
private |
◆ m_missingEt
float IDPerfMonEoverP::m_missingEt |
|
private |
◆ m_missingEtObjectName
std::string IDPerfMonEoverP::m_missingEtObjectName |
|
private |
◆ m_missingEtx
float IDPerfMonEoverP::m_missingEtx |
|
private |
◆ m_missingEty
float IDPerfMonEoverP::m_missingEty |
|
private |
◆ m_nBLayer
◆ m_nbpv
int IDPerfMonEoverP::m_nbpv |
|
private |
◆ m_nelectrons
int IDPerfMonEoverP::m_nelectrons |
|
private |
◆ m_nPIX
◆ m_nPIXout
◆ m_nSCT
◆ m_nSCTout
◆ m_nTRT
◆ m_nTRTHT
◆ m_nTRTHTout
◆ m_nTRTout
◆ m_OutputTrackCollectionName_no1
std::string IDPerfMonEoverP::m_OutputTrackCollectionName_no1 |
|
private |
◆ m_OutputTrackCollectionName_no2
std::string IDPerfMonEoverP::m_OutputTrackCollectionName_no2 |
|
private |
◆ m_PID_IsolationType_Names
◆ m_PID_ShowerType_Names
◆ m_PID_SummaryType_Names
std::vector< std::pair <xAOD::SummaryType, std::string > > IDPerfMonEoverP::m_PID_SummaryType_Names |
|
private |
◆ m_PID_TrackCaloMatchType_Names
◆ m_primaryVertexCollection
std::string IDPerfMonEoverP::m_primaryVertexCollection |
|
private |
◆ m_pvnbtk
int IDPerfMonEoverP::m_pvnbtk[NO_PV] {} |
|
private |
◆ m_pvsumpt
float IDPerfMonEoverP::m_pvsumpt[NO_PV] {} |
|
private |
◆ m_pvtype
int IDPerfMonEoverP::m_pvtype[NO_PV] {} |
|
private |
◆ m_pvx
float IDPerfMonEoverP::m_pvx[NO_PV] {} |
|
private |
◆ m_pvy
float IDPerfMonEoverP::m_pvy[NO_PV] {} |
|
private |
◆ m_pvz
float IDPerfMonEoverP::m_pvz[NO_PV] {} |
|
private |
◆ m_refitEverything
bool IDPerfMonEoverP::m_refitEverything |
|
private |
◆ m_refittedTracks_no1
◆ m_refittedTracks_no2
◆ m_runNumber
unsigned int IDPerfMonEoverP::m_runNumber |
|
private |
◆ m_small1_QoverP
double IDPerfMonEoverP::m_small1_QoverP |
|
private |
◆ m_small2_QoverP
double IDPerfMonEoverP::m_small2_QoverP |
|
private |
◆ m_small_QoverP
double IDPerfMonEoverP::m_small_QoverP |
|
private |
◆ m_smallCharge
double IDPerfMonEoverP::m_smallCharge |
|
private |
◆ m_smallClusterEnergy
double IDPerfMonEoverP::m_smallClusterEnergy |
|
private |
◆ m_smallClusterEta
double IDPerfMonEoverP::m_smallClusterEta |
|
private |
◆ m_smallClusterPhi
double IDPerfMonEoverP::m_smallClusterPhi |
|
private |
◆ m_smalld0
double IDPerfMonEoverP::m_smalld0 |
|
private |
◆ m_smallTrackTheta
double IDPerfMonEoverP::m_smallTrackTheta |
|
private |
◆ m_smallValidationTree
TTree* IDPerfMonEoverP::m_smallValidationTree |
|
private |
◆ m_smallValidationTreeDescription
std::string IDPerfMonEoverP::m_smallValidationTreeDescription |
|
private |
◆ m_smallValidationTreeFolder
std::string IDPerfMonEoverP::m_smallValidationTreeFolder |
|
private |
◆ m_smallValidationTreeName
std::string IDPerfMonEoverP::m_smallValidationTreeName |
|
private |
validation tree description - second argument in TTree
Definition at line 302 of file IDPerfMonEoverP.h.
◆ m_smallz0
double IDPerfMonEoverP::m_smallz0 |
|
private |
◆ m_sumet
float IDPerfMonEoverP::m_sumet |
|
private |
◆ m_TrackRefitter
◆ m_TrackRefitter_no2
◆ m_trigDec
◆ m_trigger
bool IDPerfMonEoverP::m_trigger[50] {} |
|
private |
◆ m_triggerNames
std::vector<std::string> IDPerfMonEoverP::m_triggerNames |
|
private |
◆ m_validationMode
bool IDPerfMonEoverP::m_validationMode |
|
private |
< boolean to switch to validation mode
boolean to switch to on Detailed Tree Filling – large increase in the ntuple size
Definition at line 178 of file IDPerfMonEoverP.h.
◆ m_validationTree
TTree* IDPerfMonEoverP::m_validationTree |
|
private |
◆ m_validationTreeDescription
std::string IDPerfMonEoverP::m_validationTreeDescription |
|
private |
◆ m_validationTreeFolder
std::string IDPerfMonEoverP::m_validationTreeFolder |
|
private |
◆ m_validationTreeName
std::string IDPerfMonEoverP::m_validationTreeName |
|
private |
validation tree description - second argument in TTree
Definition at line 185 of file IDPerfMonEoverP.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_vxpos
◆ m_WenuLooseElectronET
TH1F* IDPerfMonEoverP::m_WenuLooseElectronET |
|
private |
◆ m_WenuTight_Met
TH1F* IDPerfMonEoverP::m_WenuTight_Met |
|
private |
◆ m_WenuTight_MT
TH1F* IDPerfMonEoverP::m_WenuTight_MT |
|
private |
◆ m_WenuTightElectron_PTEtaNeg
TH2F* IDPerfMonEoverP::m_WenuTightElectron_PTEtaNeg |
|
private |
validation tree name - to be acessed by this from root
Definition at line 298 of file IDPerfMonEoverP.h.
◆ m_WenuTightElectron_PTEtaPos
TH2F* IDPerfMonEoverP::m_WenuTightElectron_PTEtaPos |
|
private |
◆ m_WenuTightElectronET
TH1F* IDPerfMonEoverP::m_WenuTightElectronET |
|
private |
◆ m_WenuTightMet_MT
TH1F* IDPerfMonEoverP::m_WenuTightMet_MT |
|
private |
◆ m_WenuTightW_PT
TH1F* IDPerfMonEoverP::m_WenuTightW_PT |
|
private |
◆ m_ZeeLooseMassOS_Cluster
TH1F* IDPerfMonEoverP::m_ZeeLooseMassOS_Cluster |
|
private |
◆ m_ZeeLooseMassSS_Cluster
TH1F* IDPerfMonEoverP::m_ZeeLooseMassSS_Cluster |
|
private |
◆ m_ZeeMediumMassOS_Cluster
TH1F* IDPerfMonEoverP::m_ZeeMediumMassOS_Cluster |
|
private |
◆ m_ZeeMediumMassSS_Cluster
TH1F* IDPerfMonEoverP::m_ZeeMediumMassSS_Cluster |
|
private |
◆ m_ZeeMediumOS_ClusterPtEta
TH2F* IDPerfMonEoverP::m_ZeeMediumOS_ClusterPtEta |
|
private |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
std::string m_smallValidationTreeFolder
Root Validation Tree.
virtual double phi() const
The azimuthal angle ( ) of the particle.
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
std::string m_jetContainerName
JEt collection input name.
float m_ePID_IsolationType[50][NOS_ELECTRONS]
std::string m_smallValidationTreeName
validation tree description - second argument in TTree
const ShapeFitter * fitter
unsigned int m_lumi_block
Const iterator class for DataVector/DataList.
ToolHandle< IegammaTrkRefitterTool > m_TrackRefitter
The track refitter.
bool fillVertexInformation(std::map< const xAOD::TrackParticle *, VxPos > &trackParticleVertexMap, xAOD::Vertex const *&primaryVertexFirstCandidate)
bool passWenuSelection(std::vector< int > &electrons)
float m_electronQoverP[3][NOS_ELECTRONS]
Track q over p on electron.
double m_smallClusterEnergy
std::string find(const std::string &s)
return a remapped string
float m_electronErrd0[3][NOS_ELECTRONS]
bool passMETCleaningCuts() const
void addToValidationNtuple(const Trk::Perigee *, const xAOD::CaloCluster *, int isOrginal)
addToValidationNutple
float m_ePID_ShowerType[50][NOS_ELECTRONS]
const_reverse_iterator rend() const noexcept
Return a const_reverse_iterator pointing at the beginning of the collection.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
const TrackParticleLinks_t & trackParticleLinks() const
Get all the particles associated with the vertex.
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
int m_nSCT[NOS_ELECTRONS]
void clearValidationNtuple()
float m_electronLMQoverP[3][NOS_ELECTRONS]
Track q over p on electron.
uint16_t author(uint16_t bitmask=EgammaParameters::AuthorALL) const
Get author.
ToolHandle< IegammaTrkRefitterTool > m_TrackRefitter_no2
The track refitter.
@ deltaEta2
difference between the cluster eta (second sampling) and the eta of the track extrapolated to the sec...
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_isGoodOQ[NOS_ELECTRONS]
bool m_IsEMTight[NOS_ELECTRONS]
setEt setPhi setE277 setWeta2 eta1
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
const xAOD::TrackParticle * trackParticle(size_t index=0) const
Pointer to the xAOD::TrackParticle/s that match the electron candidate.
int m_nPIXout[NOS_ELECTRONS]
@ numberOfTRTHits
number of TRT hits [unit8_t].
const Amg::Vector3D & position() const
Returns the 3-pos.
const uint32_t BADCLUSELECTRON
bool m_validationMode
< boolean to switch to validation mode
#define ATH_MSG_VERBOSE(x)
std::string m_validationTreeDescription
stream/folder to for the TTree to be written out
std::string m_primaryVertexCollection
Primary vertex input name.
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
std::vector< std::string > m_triggerNames
AsgElectronLikelihoodTool * m_LHToolTight2015
@ wtots1
shower width is determined in a window detaxdphi = 0,0625 ×~0,2, corresponding typically to 20 strips...
std::string m_missingEtObjectName
MET input name.
#define AmgSymMatrix(dim)
int m_nTRT[NOS_ELECTRONS]
void deleteAction() const
@ numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold (only xenon counted) [unit8_t].
virtual void setOwner(IDataHandleHolder *o)=0
float m_ePID_TrackCaloMatchType[50][NOS_ELECTRONS]
std::vector< std::pair< xAOD::Iso::IsolationType, std::string > > m_PID_IsolationType_Names
bool fillLastMeasurement(const Trk::Track *track, const int fitter)
TH1F * m_ZeeMediumMassSS_Cluster
TH2F * m_WenuTightElectron_PTEtaPos
@ f3
fraction of energy reconstructed in 3rd sampling
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
std::string m_OutputTrackCollectionName_no2
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
int m_nTRTHT[NOS_ELECTRONS]
TrackCollection * m_refittedTracks_no2
std::vector< std::pair< xAOD::EgammaParameters::TrackCaloMatchType, std::string > > m_PID_TrackCaloMatchType_Names
@ numberOfTRTHighThresholdOutliers
number of TRT high threshold outliers (only xenon counted) [unit8_t].
const Trk::Perigee & perigeeParameters() const
Returns the Trk::MeasuredPerigee track parameters.
Description of a calorimeter cluster.
float m_ClusterPhi[NOS_ELECTRONS]
SummaryType
Enumerates the different types of information stored in Summary.
int m_nTRTHTout[NOS_ELECTRONS]
virtual StatusCode sysInitialize() override
Override sysInitialize.
TH1F * m_WenuLooseElectronET
double getMassCluster(int el1, int el2)
float m_electronErrQoverP[3][NOS_ELECTRONS]
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
void fillGeneral(const xAOD::Electron *eg)
virtual double eta() const
The pseudorapidity ( ) of the particle.
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
std::string m_metRefFinalName
float m_electronTheta[3][NOS_ELECTRONS]
Track theta on Surface.
bool m_IsEMLoose[NOS_ELECTRONS]
@ etcone20
Calorimeter isolation.
TTree * m_smallValidationTree
SG::ReadHandleKey< xAOD::EventInfo > m_evt
ReadHandle to the Event Info.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::string m_validationTreeName
validation tree description - second argument in TTree
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
@ emins1
energy reconstructed in the strip with the minimal value between the first and second maximum
const xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
Principal data object for Missing ET.
float m_ePID_SummaryType[50][NOS_ELECTRONS]
#define CHECK(...)
Evaluate an expression and check for errors.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
TH1F * m_WenuTightElectronET
bool storeMETinformation()
int m_associatedToVtx[NOS_ELECTRONS]
ToolHandle< IJetSelector > m_jetCleaningTool
jet selector tool
bool passZeeSelection(std::vector< int > &electrons)
void fillElectronInfo(const xAOD::Electron *p)
const_reverse_iterator rbegin() const noexcept
Return a const_reverse_iterator pointing past the end of the collection.
float m_electronErrz0[3][NOS_ELECTRONS]
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
AsgElectronLikelihoodTool * m_LHToolMedium2015
std::vector< std::pair< xAOD::EgammaParameters::ShowerShapeType, std::string > > m_PID_ShowerType_Names
const Perigee * perigeeParameters() const
return Perigee.
Container for xAOD::MissingET_v1 objects.
int m_electronCounter
counter for electrons
TH2F * m_WenuTightElectron_PTEtaNeg
validation tree name - to be acessed by this from root
std::reverse_iterator< const_iterator > const_reverse_iterator
Standard const_reverse_iterator.
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
float m_ClusterEta[NOS_ELECTRONS]
bool m_fillDetailedTree
validation tree name - to be acessed by this from root
int m_nSCTout[NOS_ELECTRONS]
bool m_IsEMTightTRT[NOS_ELECTRONS]
int m_nTRTout[NOS_ELECTRONS]
TH1F * m_ZeeLooseMassSS_Cluster
void fillIsEM(const xAOD::Electron *eg)
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
@ numberOfTRTOutliers
number of TRT outliers [unit8_t].
TH1F * m_ZeeMediumMassOS_Cluster
DataObjIDColl m_extendedExtraObjects
std::string m_validationTreeFolder
Root Validation Tree.
TH2F * m_ZeeMediumOS_ClusterPtEta
Class describing a Vertex.
float m_ClusterEnergy[NOS_ELECTRONS]
@ numberOfSCTOutliers
number of SCT outliers [unit8_t].
#define ATH_MSG_WARNING(x)
int m_author[NOS_ELECTRONS]
TH1F * m_ZeeLooseMassOS_Cluster
bool absEta(const xAOD::TauJet &tau, double &out)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
ToolHandle< Trig::TrigDecisionTool > m_trigDec
The trigger decision tool.
void fillTriggerInformation()
int m_nBLayer[NOS_ELECTRONS]
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
AthAlgorithm()
Default constructor:
float m_electronErrPhi[3][NOS_ELECTRONS]
Track phi error on electron.
@ weta1
shower width using +/-3 strips around the one with the maximal energy deposit: w3 strips = sqrt{sum(E...
std::string m_InputElectronContainerName
Electron collection input name.
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
float m_electronz0[3][NOS_ELECTRONS]
Track q over p on electron.
Class describing a TrackParticle.
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
const Trk::Track * track() const
Returns a pointer (which can be NULL) to the Trk::Track which was used to make this TrackParticle.
std::string m_OutputTrackCollectionName_no1
Name of output of Refitted Inner Detector Tracks.
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
VxPos findAssociatedVertex(std::map< const xAOD::TrackParticle *, VxPos > &trackParticleVertexMap, const xAOD::Vertex *primaryVertexFirstCandidate, const xAOD::Electron *) const
@ f3core
E3(3x3)/E fraction of the energy reconstructed in the third compartment of the electromagnetic calori...
@ e2tsts1
energy of the cell corresponding to second energy maximum in the first sampling
float m_electronPhi[3][NOS_ELECTRONS]
Track Phi on electron.
bool m_IsEMMedium[NOS_ELECTRONS]
setBGCode setTAP setLVL2ErrorBits bool
std::pair< const xAOD::Vertex *, int > VxPos
@ emaxs1
energy of strip with maximal energy deposit
virtual double e() const
The total energy of the particle.
int m_nPIX[NOS_ELECTRONS]
std::vector< std::pair< xAOD::SummaryType, std::string > > m_PID_SummaryType_Names
bool empty() const noexcept
Returns true if the collection is empty.
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in ± n strip...
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
std::vector< int > FillSimpleTree()
AsgElectronLikelihoodTool * m_LHToolLoose2015
const uint16_t AuthorElectron
Object Reconstructed by standard cluster-based algorithm.
@ weta2
the lateral width is calculated with a window of 3x5 cells using the energy weighted sum over all cel...
float m_electrond0[3][NOS_ELECTRONS]
Track Phi on electron.
float m_electronErrTheta[3][NOS_ELECTRONS]
Track theta error on electron.
TrackCollection * m_refittedTracks_no1
Refitted track collection.
std::string m_smallValidationTreeDescription
stream/folder to for the TTree to be written out
constexpr double electronMassInMeV
the mass of the electron (in MeV)