Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
6 #ifndef RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H
7 #define RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H
9 #define RINGER_PROCEDURE_INCLUDE
11 #undef RINGER_PROCEDURE_INCLUDE
13 #include <type_traits>
28 virtual public IRedirectMsgStream,
37 #ifndef RINGER_STANDALONE
49 const TrackPatternsHolder *trackPat,
50 std::vector<float> &transformVec)
const = 0;
78 std::vector<float> &transformVec)
const = 0;
91 TDirectory *configDir);
98 TDirectory *configDir,
101 static constexpr
const char* wrapName =
"RingerPreProcessorWrapper";
124 template <
class procedure_t,
137 public RedirectMsgStream
141 "RingerProcedureWrapper procedure_t type must have IVariableDependecy inheritance.");
150 typedef typename std::vector <
152 std::vector < procedure_t* > >
165 m_rsRawConfCol(nullptr),
169 m_pp = m_ppCol[0][0][0];
175 #ifndef RINGER_STANDALONE
187 const TrackPatternsHolder *trackPat,
188 std::vector<float> &transformVec)
const final override;
200 std::vector<float> &transformVec)
const final override;
205 #ifndef RINGER_STANDALONE
212 m_rsRawConfCol = crRawConfCol;
222 crRawConfCol = m_rsRawConfCol;
239 return m_ppCol.empty();
267 virtual
void setMsgStream(MsgStream *
msg)
const override final;
272 static std::
string staticFullName();
313 #ifndef RINGER_STANDALONE
326 #endif // RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H
328 #ifndef INCLUDE_HEADER_ONLY // Use to avoid circular includes
329 #ifndef RINGER_DISCRIMINATOR_WRAPPER_INCLUDE
331 #endif // RINGER_DISCRIMINATOR_WRAPPER_INCLUDE
332 #endif // INCLUDE_HEADER_ONLY
IovVectorMap_t read(const Folder &theFolder, const SelectionCriterion &choice, const unsigned int limit=10)
virtual const char * name() const final override
Returns this wrapper name.
virtual void getRawConfCol(const xAOD::RingSetConf::RawConfCollection *&crRawConfCol) const final override
Get the holden CaloRings raw configuration collection.
RingerProcedureWrapper(const PPDepProcCollection &ppDepCol)
Ctors:
virtual void applyPreProcessing(const DepVarStruct &depVar, std::vector< float > &transformVec) const final override
Apply PP to transform input space into a new representation.
virtual ~IRingerProcedureWrapper()
Ensure virtual destructor.
unsigned m_nRings
contains the total number of rings in the vectorized representation
void releaseMemory() override final
Release all holden pointer memory.
std::vector< RawConf > RawConfCollection
typedef The raw configuration structure data holder
virtual SegmentationType getSegType() const =0
Get segmentation type for this pre-processing.
std::vector< std::vector< std::vector< procedure_t * > > > PPDepProcCollection
RingerProcedureWrapper for Threshold procedures typedefs:
static void read(WrapperCollection &ppWrapperCol, TDirectory *configDir, unsigned version)
Read all pre-processing on configDir and append them to IPreProcWrapperCollection.
virtual void applyPreProcessing(const DepVarStruct &depVar, const xAOD::CaloRings *clrings, const TrackPatternsHolder *trackPat, std::vector< float > &transformVec) const =0
Apply PP to transform input space into a new representation.
virtual bool empty() const final override
Returns whether holden interface collection is empty.
bool const RAWDATA *ch2 const
SegmentationType
the possible procedure longitudinal segmentation types.
IPreProcWrapper::WrapperCollection IPreProcWrapperCollection
Facilitate access into Threshold Wrappers collection.
virtual void applyPreProcessing(const DepVarStruct &depVar, std::vector< float > &transformVec) const =0
Apply PP to transform input space into a new representation.
EtDependency
Specify et position dependency.
Class summarizing the particle interaction throughout the Calorimeter (its shower shape).
EtDependency etDep() const override final
Returns et dependecy for this wrapper.
void print(char *figname, TCanvas *c1)
EtaDependency
Specify eta position dependency.
IRingerProcedureWrapper< PreProcessing::IPreProcessor > IPreProcWrapper
Facilitate access into Threshold Wrappers.
EtaDependency etaDep() const override final
Returns eta dependecy for this wrapper.
IRingerProcedureWrapper()
virtual void applyPreProcessing(const DepVarStruct &depVar, const xAOD::CaloRings *clrings, const TrackPatternsHolder *trackPat, std::vector< float > &transformVec) const final override
Main Methods:
virtual void getRawConfCol(const xAOD::RingSetConf::RawConfCollection *&crRawConfCol) const =0
Get the holden CaloRings raw configuration collection.
virtual void setRawConfCol(const xAOD::RingSetConf::RawConfCollection *crRawConfCol)=0
Set the holden CaloRings raw configuration collection.
Used as base for all IRingerProcedureWrapper template specializations.
virtual void setRawConfCol(const xAOD::RingSetConf::RawConfCollection *crRawConfCol) final override
Other utilities.
std::vector< IRingerProcedureWrapper * > WrapperCollection
Collection type of PreProcessor Wrappers.
Specialization for Discriminator procedure.
virtual SegmentationType getSegType() const final override
Get segmentation type for this pre-processor.
static unsigned totalNumberOfRings(const RawConfCollection &clRingsConf)
Get the totalNumber of Rings contained in this configuration:
static void writeCol(const WrapperCollection &ppWrapperCol, TDirectory *configDir)
Write all wrappers on ppWrapperCol to TDirectory.
Specialization for Discriminator procedure.
Namespace dedicated for Ringer utilities.