Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
35 return StatusCode::SUCCESS;
39 for (
const std::string&
key :
keys) {
52 return StatusCode::SUCCESS;
82 for (; elItr != elItrE; ++elItr) {
84 std::string electronAuthor =
"";
85 std::string electronIsEMString =
"none";
86 std::string electronLabel =
"";
87 phi.emplace_back(
DataType((*elItr)->phi()));
88 eta.emplace_back(
DataType((*elItr)->eta()));
93 if ((*elItr)->trackParticle()){
94 pdgId.emplace_back(
DataType( -11.*(*elItr)->trackParticle()->charge() ));
102 <<
", author = " << (*elItr)->author()
110 bool passesTight(
false);
111 bool passesMedium(
false);
112 bool passesLoose(
false);
113 const bool tightSelectionExists = (*elItr)->passSelection(passesTight,
"Tight");
115 <<
" and passes? " << passesTight);
116 const bool mediumSelectionExists = (*elItr)->passSelection(passesMedium,
"Medium");
118 <<
" and passes? " << passesMedium);
119 const bool looseSelectionExists = (*elItr)->passSelection(passesLoose,
"Loose");
121 <<
" and passes? " << passesLoose);
123 electronAuthor =
"author"+
DataType( (*elItr)->author() ).toString();
124 electronLabel = electronAuthor;
125 if (( (*elItr)->author()) == 0){ electronAuthor =
"unknown"; electronLabel +=
"_unknown"; }
126 if (( (*elItr)->author()) == 8){ electronAuthor =
"forward"; electronLabel +=
"_forward"; }
127 if (( (*elItr)->author()) == 2){ electronAuthor =
"softe"; electronLabel +=
"_softe"; }
128 if (( (*elItr)->author()) == 1){ electronAuthor =
"egamma"; electronLabel +=
"_egamma"; }
131 electronLabel +=
"_Loose";
132 electronIsEMString =
"Loose";
135 electronLabel +=
"_Medium";
136 electronIsEMString =
"Medium";
139 electronLabel +=
"_Tight";
140 electronIsEMString =
"Tight";
144 isEMString.emplace_back(
DataType( electronIsEMString ) );
155 DataMap[
"isEMString"] = isEMString;
169 std::vector<std::string>
keys = {};
187 std::vector<std::string> allKeys;
192 for(
const std::string&
key : allKeys){
195 if(it2 !=
keys.end())
continue;
char data[hepevt_bytes_allocation_ATLAS]
Const iterator class for DataVector/DataList.
std::string find(const std::string &s)
return a remapped string
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
Gaudi::Property< std::string > m_priorityKey
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Gaudi::Property< std::vector< std::string > > m_otherKeys
xAODElectronRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_doWriteHLT
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.
Gaudi::Property< bool > m_doWriteAllCollections
const std::vector< std::string > getKeys()
Gets the StoreGate keys for the desired containers.
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.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.