6#ifndef RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H
7#define RINGERSELECTORTOOLS_PROCEDURES_RINGERPREPROCESSORWRAPPER_H
9#define RINGER_PROCEDURE_INCLUDE
11#undef RINGER_PROCEDURE_INCLUDE
27class IRingerProcedureWrapper< PreProcessing::IPreProcessor > :
28 virtual public IRedirectMsgStream,
29 virtual public IRingerProcedureWrapperBase
35 typedef typename std::vector< IRingerProcedureWrapper* > WrapperCollection;
37#ifndef RINGER_STANDALONE
46 virtual void applyPreProcessing(
47 const DepVarStruct &depVar,
49 const TrackPatternsHolder *trackPat,
50 std::vector<float> &transformVec)
const = 0;
55 virtual void setRawConfCol(
61 virtual void getRawConfCol(
76 virtual void applyPreProcessing(
77 const DepVarStruct &depVar,
78 std::vector<float> &transformVec)
const = 0;
83 virtual const char* name()
const final override {
90 static void writeCol(
const WrapperCollection &ppWrapperCol,
91 TDirectory *configDir);
97 static void read(WrapperCollection &ppWrapperCol,
98 TDirectory *configDir,
101 static constexpr const char* wrapName =
"RingerPreProcessorWrapper";
104 virtual ~IRingerProcedureWrapper(){;}
107 IRingerProcedureWrapper(){;}
124template <
class procedure_t,
137 public RedirectMsgStream
140 (std::is_base_of<VariableDependency,procedure_t>::value),
141 "RingerProcedureWrapper procedure_t type must have IVariableDependecy inheritance.");
150 typedef typename std::vector <
152 std::vector < procedure_t* > >
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
313#ifndef RINGER_STANDALONE
328#ifndef INCLUDE_HEADER_ONLY
329#ifndef RINGER_DISCRIMINATOR_WRAPPER_INCLUDE
void checkPPCol()
Private Methods:
EtaDependency etaDep() const override final
Returns eta dependecy for this wrapper.
virtual void getRawConfCol(const xAOD::RingSetConf::RawConfCollection *&crRawConfCol) const final override
Get the holden CaloRings raw configuration collection.
virtual void applyPreProcessing(const DepVarStruct &depVar, std::vector< float > &transformVec) const final override
Apply PP to transform input space into a new representation.
virtual void setMsgStream(MsgStream *msg) const override final
Overloads the setMsgStream from RedirectMsgStream.
virtual void setRawConfCol(const xAOD::RingSetConf::RawConfCollection *crRawConfCol) final override
Other utilities.
const xAOD::RingSetConf::RawConfCollection * m_rsRawConfCol
contains a pointer into the CaloRings configuration:
void releaseMemory() override final
Release all holden pointer memory.
static std::string staticFullName()
Get full wrapper name, static method.
std::string fullName() const override final
Get full wrapper name.
EtDependency etDep() const override final
Returns et dependecy for this wrapper.
static RingerProcedureWrapper * read(TDirectory *configDir, unsigned version)
Read collection from TDirectory.
virtual SegmentationType getSegType() const final override
Get segmentation type for this pre-processor.
void write(TDirectory *baseDir, const char *idxStr="") const override final
Write collection to TDirectory.
procedure_t * m_pp
Hold pointer to the first position on the collection.
PPDepProcCollection m_ppCol
Private Properties:
std::vector< std::vector< std::vector< procedure_t * > > > PPDepProcCollection
RingerProcedureWrapper for Threshold procedures typedefs:
virtual bool empty() const final override
Returns whether holden interface collection is empty.
virtual void applyPreProcessing(const DepVarStruct &depVar, const xAOD::CaloRings *clrings, const TrackPatternsHolder *trackPat, std::vector< float > &transformVec) const final override
Main Methods:
void print(MSG::Level lvl=MSG::DEBUG) const override final
Print wrapper content.
RingerProcedureWrapper(const PPDepProcCollection &ppDepCol)
Ctors:
unsigned m_nRings
contains the total number of rings in the vectorized representation
std::vector< RawConf > RawConfCollection
typedef The raw configuration structure data holder
static unsigned totalNumberOfRings(const RawConfCollection &clRingsConf)
Get the totalNumber of Rings contained in this configuration:
Namespace dedicated for Ringer utilities.
EtaDependency
Specify eta position dependency.
IPreProcWrapper::WrapperCollection IPreProcWrapperCollection
Facilitate access into Threshold Wrappers collection.
IRingerProcedureWrapper< PreProcessing::IPreProcessor > IPreProcWrapper
Facilitate access into Threshold Wrappers.
EtDependency
Specify et position dependency.
SegmentationType
the possible procedure longitudinal segmentation types.
CaloRings_v1 CaloRings
Definition of the current "CaloRings version".
IovVectorMap_t read(const Folder &theFolder, const SelectionCriterion &choice, const unsigned int limit=10)