|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #ifndef GENERATIONBASE
12 #endif //GENERATIONBASE
26 #if !defined (GENERATIONBASE) && !defined (XAOD_ANALYSIS)
36 using std::setprecision;
48 m_hpjr(
"JetPseudojetRetriever/jpjr",this),
54 m_find(false), m_groom(false), m_copy(false),
72 string mode =
"pseudojets";
81 return StatusCode::FAILURE;
106 if (
m_hpjr.retrieve().isSuccess() ) {
112 #ifdef XAOD_STANDALONE
124 return StatusCode::FAILURE;
127 if ( pasgtool !=
nullptr ) {
128 const string* pval = pasgtool->
getProperty<std::string>(
"OutputContainer");
129 if ( pval !=
nullptr ) {
134 ATH_MSG_ERROR(
"Input tool does not have output collection name.");
135 return StatusCode::FAILURE;
148 return StatusCode::FAILURE;
158 return StatusCode::FAILURE;
166 return StatusCode::FAILURE;
173 <<
" pseudojet inputs.");
174 for (
size_t ilab(0); ilab<
m_psjsin.size(); ++ilab ) {
175 const std::string& pjcontname =
m_psjsin[ilab].key();
176 if(pjcontname.size()<9) {
177 ATH_MSG_ERROR(
"Invalid pseudojet container name " << pjcontname);
178 ATH_MSG_ERROR(
"This must be of the form \"PseudoJet\"+label");
179 return StatusCode::FAILURE;
181 std::string
label = pjcontname.substr(9);
195 <<
" jet modifiers.");
200 <<
" jet consumers.");
208 #if !defined (GENERATIONBASE) && !defined (XAOD_ANALYSIS)
230 #ifndef GENERATIONBASE
232 ATH_MSG_DEBUG(
"Check Aux store: " << pjets.get() <<
" ... " << &pjets->
auxbase() <<
" ... " << pjetsaux.get() );
233 if ( pjetsaux.get() ==
nullptr ) {
238 if(jetsHandle.
record(std::move(pjets), std::move(pjetsaux)).isFailure()){
246 std::unique_ptr<xAOD::JetAuxContainer> pjetsaux(
dynamic_cast<xAOD::JetAuxContainer*
>( pjets->getStore() ));
247 ATH_MSG_DEBUG(
"Check Aux store: " << pjets.get() <<
" ... " << &pjets->
auxbase() <<
" ... " << pjetsaux.get() );
248 if ( pjetsaux.get() ==
nullptr ) {
253 if(jetsHandle.
record(std::move(pjets), std::move(pjetsaux)).isFailure()){
267 for ( ModifierArray::const_iterator imod=
m_modifiers.begin();
271 if((*imod)->modify(*jetsHandle).isFailure())
284 for ( ConsumerArray::const_iterator icon=
m_consumers.begin();
288 (*icon)->process(*jetsHandle) ;
294 #if !defined (GENERATIONBASE) && !defined (XAOD_ANALYSIS)
303 njets = jetsHandle->
size();
306 return jetsHandle.
isValid() ? &(*jetsHandle) :
nullptr;
317 if (
build() ==
nullptr ) {
339 for (
const auto& pjcontkey :
m_psjsin ) {
360 for ( ModifierArray::const_iterator imod=
m_modifiers.begin();
364 ToolHandle<IJetModifier> hmod = *imod;
375 ATH_MSG_WARNING(
"Input container list requested before initialization.");
386 ATH_MSG_WARNING(
"Output container list requested before initialization.");
404 auto allPseudoJets = std::make_unique<PseudoJetContainer>();
408 for (
const auto& pjcontkey :
m_psjsin) {
413 << h_newpsjs.
key() <<
" failed");
416 allPseudoJets->append(h_newpsjs.
get());
419 return allPseudoJets;
437 if ( !
m_incoll.key().empty() && handle_in.isValid()) {
438 pjetsin = handle_in.cptr();
440 if ( pjetsin ==
nullptr && !
m_intool.empty() ) {
447 if ( pjetsin ==
nullptr ) {
451 <<
" jet multiplicity is "<< pjetsin->size());
461 auto pjets = std::make_unique<xAOD::JetContainer>();
466 #ifndef GENERATIONBASE
504 if(jetsIn ==
nullptr){
514 for (
const auto *
const ijet : *jetsIn){
m_groomer->groom(*ijet,
531 if(jetsIn ==
nullptr){
539 for (
const Jet* poldjet : *jetsIn) {
541 jets->push_back(pnewjet);
Extra patterns decribing particle interation process.
Group
Properties of a chain group.
Scalar phi() const
phi method
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool msgLvl(const MSG::Level lvl) const
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
#define ATH_MSG_VERBOSE(x)
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
const SG::AuxVectorBase & auxbase() const
Convert to AuxVectorBase.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Temporary container used until we have I/O for AuxStoreInternal.
Temporary container used until we have I/O for AuxStoreInternal.
::StatusCode StatusCode
StatusCode definition for legacy code.
const_pointer_type get() const
Dereference the pointer, but don't cache anything.
Header file to be included by clients of the Monitored infrastructure.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual const std::string & key() const override final
Return the StoreGate ID for the referenced object.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
#define ATH_MSG_WARNING(x)
JetContainer_v1 JetContainer
Definition of the current "jet container version".
Declare a monitored scalar variable.
size_type size() const noexcept
Returns the number of elements in the collection.
Jet_v1 Jet
Definition of the current "jet version".