|
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 > &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 > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &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 668 of file IDPerfMonEoverP.cxx.
671 if (isOriginal >= 0 && isOriginal <3){
688 ATH_MSG_DEBUG(
"No MeasuredPerigee - cannot add data to ntuple" );
◆ clearValidationNtuple()
void IDPerfMonEoverP::clearValidationNtuple |
( |
| ) |
|
|
private |
Definition at line 741 of file IDPerfMonEoverP.cxx.
745 for (
int j = 0 ; j <3 ; ++j){
772 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 461 of file IDPerfMonEoverP.cxx.
465 std::map<const xAOD::TrackParticle*, VxPos > trackParticleVertexMap;
466 const xAOD::Vertex* primaryVertexFirstCandidate =
nullptr;
470 ATH_MSG_WARNING(
" Validation Mode has been turned off ALG will do not fill Ntuples" );
500 if (
sc!=StatusCode::SUCCESS){
503 return StatusCode::SUCCESS;
507 if (ElectronInput_container->
empty() ){
509 return StatusCode::SUCCESS;
517 electron_iterator iter = ElectronInput_container->
begin();
518 electron_iterator iterEnd = ElectronInput_container->
end();
522 for(; iter != iterEnd ; ++iter) {
552 ATH_MSG_DEBUG(
"Electron with no track particle?? Possibly Forward");
558 primaryVertexFirstCandidate,
585 if (
sc == StatusCode::SUCCESS){
586 Trk::Track* trkTrack= cache1.refittedTrack.release();
603 if (
sc == StatusCode::SUCCESS){
604 Trk::Track* trkTrack= cache2.refittedTrack.release();
626 for(
const auto & thisGoodElectron: goodElectrons){
629 (*ElectronInput_container)[thisGoodElectron]->trackParticle()->
track(),
631 if (
sc == StatusCode::SUCCESS){
632 Trk::Track* trkTrack= cache.refittedTrack.release();
633 selectedElectrons->push_back(trkTrack);
645 delete selectedElectrons;
646 return (StatusCode::FAILURE);
653 delete selectedElectrons;
654 return (StatusCode::FAILURE);
661 delete selectedElectrons;
662 return (StatusCode::FAILURE);
665 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 998 of file IDPerfMonEoverP.cxx.
1001 if(!
track)
return false;
1005 if (oldTrackStates == 0)
1018 trkPara = (*rItTSoS)->trackParameters();
◆ FillSimpleTree()
std::vector< int > IDPerfMonEoverP::FillSimpleTree |
( |
| ) |
|
|
private |
Definition at line 1250 of file IDPerfMonEoverP.cxx.
1253 std::vector<int> electronsZee;
1254 std::vector<int> electronsWenu;
1257 std::vector<int> allInterestingElectrons;
1258 for(
int i(0);
i < (
int)electronsZee.size(); ++
i){
1259 int ele = electronsZee[
i];
1260 if (
std::find(allInterestingElectrons.begin(), allInterestingElectrons.end(), ele)==allInterestingElectrons.end() ){
1261 allInterestingElectrons.push_back(ele);
1264 for(
int i(0);
i < (
int)electronsWenu.size(); ++
i){
1265 int ele = electronsWenu[
i];
1266 if (
std::find(allInterestingElectrons.begin(), allInterestingElectrons.end(), ele)==allInterestingElectrons.end() ){
1267 allInterestingElectrons.push_back(ele);
1270 ATH_MSG_DEBUG(
" SimpleTreeElectrons " << allInterestingElectrons.size() );
1271 for(
int i(0);
i < (
int)allInterestingElectrons.size(); ++
i){
1272 int ele = allInterestingElectrons[
i];
1287 return allInterestingElectrons;
◆ fillTriggerInformation()
void IDPerfMonEoverP::fillTriggerInformation |
( |
| ) |
|
|
private |
◆ fillVertexInformation()
Definition at line 872 of file IDPerfMonEoverP.cxx.
879 if (
sc.isFailure()) {
886 <<
" = " << vxContainer->size() );
887 primaryVertexFirstCandidate =
std::begin(*vxContainer)[0];
888 ATH_MSG_DEBUG(
"The primary vertex : " << primaryVertexFirstCandidate->type() );
889 for(
const auto* vxI : *vxContainer ) {
890 int type = (
int)(vxI)->vertexType();
893 const std::vector< ElementLink< xAOD::TrackParticleContainer > > tpLinks = vxI->
trackParticleLinks();
895 if(not tpLinks.empty()) {
896 nbtk = tpLinks.size();
897 for(
const auto& tp_elem : tpLinks ){
899 VxPos myVxPos = std::make_pair(vxI,npv);
900 trackParticleVertexMap.insert( std::make_pair( trk, myVxPos ) );
902 sumpt += trk->
p4().Perp();
906 << primaryVertex->
position().x() <<
","
907 << primaryVertex->
position().y() <<
","
908 << primaryVertex->
position().z() <<
")"
911 <<
" sumpt=" << sumpt);
916 <<
". Truncated event. " );
928 ATH_MSG_DEBUG(
"Vertex " << npv <<
" has no tracks associated to it!" );
939 if (npv == 0)
return false;
◆ finalize()
StatusCode IDPerfMonEoverP::finalize |
( |
| ) |
|
◆ findAssociatedVertex()
Definition at line 943 of file IDPerfMonEoverP.cxx.
949 trackParticleVertexMap.find(
eg->trackParticle());
950 if (tpVx == trackParticleVertexMap.end() ){
951 return std::make_pair( primaryVertexFirstCandidate,-1 );
953 return (*tpVx).second;
◆ getMassCluster()
double IDPerfMonEoverP::getMassCluster |
( |
int |
el1, |
|
|
int |
el2 |
|
) |
| |
|
private |
◆ initialize()
StatusCode IDPerfMonEoverP::initialize |
( |
| ) |
|
Gaudi algorithm hooks.
Definition at line 148 of file IDPerfMonEoverP.cxx.
160 return StatusCode::FAILURE;
167 return StatusCode::FAILURE;
174 return StatusCode::FAILURE;
241 "HLT_e24_lhmedium_idperf_L1EM20VH",
242 "HLT_e24_medium_L1EM18VH",
253 std::string FitterNames[3] = {
"GX2",
"Refitted1",
"Refitted2"};
358 if (tHistSvc.retrieve().isFailure()){
359 ATH_MSG_ERROR(
"initialize() Could not find Hist Service -> Switching ValidationMode Off !");
365 ATH_MSG_ERROR(
"initialize() Could not register the validation Tree -> Switching ValidationMode Off !");
370 ATH_MSG_ERROR(
"initialize() Could not register the validation Tree -> Switching ValidationMode Off !");
389 bool somethingFailed{};
403 if (somethingFailed)
ATH_MSG_ERROR(
"initialize() Could not register histogram ");
413 ATH_MSG_INFO(
"IDPerfMonEoverP::Initialize() -- Setting up electron LH tool.");
426 std::string confDir =
"ElectronPhotonSelectorTools/offline/"+
m_lhTune+
"/";
427 std::string configFileL = confDir+
"ElectronLikelihoodLooseOfflineConfig2015.conf";
428 std::string configFileM = confDir+
"ElectronLikelihoodMediumOfflineConfig2015.conf";
429 std::string configFileT = confDir+
"ElectronLikelihoodTightOfflineConfig2015.conf";
432 ATH_MSG_WARNING(
"Failure loading ConfigFile in loose electron likelihood tool.");
434 ATH_MSG_WARNING(
"Failure loading ConfigFile in medium electron likelihood tool.");
436 ATH_MSG_WARNING(
"Failure loading ConfigFile in tight electron likelihood tool.");
440 ATH_MSG_WARNING(
"Loose electron likelihood tool initialize() failed!");
443 ATH_MSG_WARNING(
"Medium electron likelihood tool initialize() failed!");
446 ATH_MSG_WARNING(
"Tight electron likelihood tool initialize() failed!");
448 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 855 of file IDPerfMonEoverP.cxx.
859 if(
sc.isFailure() || !jetTDS ) {
863 if (jetTDS->
empty())
return true;
864 bool cleanJet =
true;
865 for(
const auto* jet_elem : *jetTDS ) {
◆ passWenuSelection()
bool IDPerfMonEoverP::passWenuSelection |
( |
std::vector< int > & |
electrons | ) |
|
|
private |
Definition at line 1130 of file IDPerfMonEoverP.cxx.
1133 if(
m_nbpv<1)
return false;
1134 bool primaryVertexOk(
false);
1138 if (
m_pvnbtk[
i] > 2) primaryVertexOk =
true;
1140 if(!primaryVertexOk)
return false;
1150 std::vector<int> goodLooseElectrons;
1156 if (clusterEt <= 25000)
continue;
1164 goodLooseElectrons.push_back(ele);
1168 for(
int gele(0); gele < (
int) goodLooseElectrons.size(); ++gele){
1169 int ele = goodLooseElectrons[gele];
1174 int nMediumElectrons(0);
1175 int nTightElectrons(0);
1176 int tightElectron(0);
1178 for(
int gele(0); gele < (
int) goodLooseElectrons.size(); ++gele){
1180 int ele = goodLooseElectrons[gele];
1184 tightElectron = ele;
1188 if (nMediumElectrons >2)
1191 if (nTightElectrons <1)
1199 if(massT > 0) massT =std::sqrt(massT);
1209 if (massT <= 50000)
return false;
1216 double wpt = sumpx*sumpx +sumpy*sumpy - massT*massT;
1217 if(wpt > 0) wpt =std::sqrt(wpt);
◆ passZeeSelection()
bool IDPerfMonEoverP::passZeeSelection |
( |
std::vector< int > & |
electrons | ) |
|
|
private |
Definition at line 1035 of file IDPerfMonEoverP.cxx.
1040 if(
m_nbpv<1)
return false;
1041 bool primaryVertexOk(
false);
1045 if (
m_pvnbtk[
i] > 2) primaryVertexOk =
true;
1047 if(!primaryVertexOk)
return false;
1053 std::vector<int> goodLooseElectrons;
1060 if (clusterEt <= 25000)
continue;
1072 goodLooseElectrons.push_back(ele);
1075 int pairsLooseInMassWindow = 0;
1077 ATH_MSG_DEBUG(
"N Loose electrons " << goodLooseElectrons.size());
1080 for(
int gele1 = 0; gele1 < (
int)goodLooseElectrons.size()-1; ++gele1){
1081 for(
int gele2 = gele1+1; gele2 < (
int)goodLooseElectrons.size(); ++gele2){
1082 int ele1 = goodLooseElectrons[gele1];
1083 int ele2 = goodLooseElectrons[gele2];
1085 if (
mass > 60000 &&
mass < 120000){
1086 ++pairsLooseInMassWindow;
1095 if (pairsLooseInMassWindow < 1)
return false;
1096 std::vector<int> goodMediumElectrons;
1098 for(
int gele = 0; gele < (
int)goodLooseElectrons.size(); ++gele){
1099 int ele = goodLooseElectrons[gele];
1101 goodMediumElectrons.push_back(ele);
1106 if (goodMediumElectrons.size() != 2)
return false;
1110 if (
mass > 66000 &&
mass < 116000){
1113 electrons.push_back(goodMediumElectrons[0]);
1114 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.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
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.
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
@ 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
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ 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