 |
ATLAS Offline Software
|
Go to the documentation of this file.
26 return StatusCode::SUCCESS;
51 return StatusCode::SUCCESS;
81 for (; elItr != elItrE; ++elItr) {
83 std::string electronAuthor =
"";
84 std::string electronIsEMString =
"none";
85 std::string electronLabel =
"";
86 phi.emplace_back(
DataType((*elItr)->phi()));
87 eta.emplace_back(
DataType((*elItr)->eta()));
92 if ((*elItr)->trackParticle()){
93 pdgId.emplace_back(
DataType( -11.*(*elItr)->trackParticle()->charge() ));
101 <<
", author = " << (*elItr)->author()
109 bool passesTight(
false);
110 bool passesMedium(
false);
111 bool passesLoose(
false);
112 const bool tightSelectionExists = (*elItr)->passSelection(passesTight,
"Tight");
114 <<
" and passes? " << passesTight);
115 const bool mediumSelectionExists = (*elItr)->passSelection(passesMedium,
"Medium");
117 <<
" and passes? " << passesMedium);
118 const bool looseSelectionExists = (*elItr)->passSelection(passesLoose,
"Loose");
120 <<
" and passes? " << passesLoose);
122 electronAuthor =
"author"+
DataType( (*elItr)->author() ).toString();
123 electronLabel = electronAuthor;
124 if (( (*elItr)->author()) == 0){ electronAuthor =
"unknown"; electronLabel +=
"_unknown"; }
125 if (( (*elItr)->author()) == 8){ electronAuthor =
"forward"; electronLabel +=
"_forward"; }
126 if (( (*elItr)->author()) == 2){ electronAuthor =
"softe"; electronLabel +=
"_softe"; }
127 if (( (*elItr)->author()) == 1){ electronAuthor =
"egamma"; electronLabel +=
"_egamma"; }
130 electronLabel +=
"_Loose";
131 electronIsEMString =
"Loose";
134 electronLabel +=
"_Medium";
135 electronIsEMString =
"Medium";
138 electronLabel +=
"_Tight";
139 electronIsEMString =
"Tight";
143 isEMString.emplace_back(
DataType( electronIsEMString ) );
154 DataMap[
"isEMString"] = isEMString;
char data[hepevt_bytes_allocation_ATLAS]
Const iterator class for DataVector/DataList.
const DataMap getData(const xAOD::ElectronContainer *)
Puts the variables into a DataMap.
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
virtual std::string dataTypeName() const
Return the name of the data type that is generated by this retriever.
#define ATH_MSG_VERBOSE(x)
std::map< std::string, DataVect > DataMap
xAODElectronRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize()
virtual bool isValid() override final
Can the handle be successfully dereferenced?
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
Wrapper to avoid constant divisions when using units.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
#define ATH_MSG_WARNING(x)
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
For each electron collection retrieve basic parameters.
size_type size() const noexcept
Returns the number of elements in the collection.
SG::ReadHandleKeyArray< xAOD::ElectronContainer > m_keys
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.