JAPAn
Just Another Parity Analyzer
|
Data handler that forms linear combinations of channels. More...
#include <QwCombiner.h>
Public Types | |
typedef std::vector< VQwHardwareChannel * >::iterator | Iterator_HdwChan |
typedef std::vector< VQwHardwareChannel * >::const_iterator | ConstIterator_HdwChan |
![]() | |
enum | EQwHandleType { kHandleTypeUnknown =0 , kHandleTypeMps , kHandleTypeAsym , kHandleTypeDiff , kHandleTypeYield } |
typedef std::vector< VQwHardwareChannel * >::iterator | Iterator_HdwChan |
typedef std::vector< VQwHardwareChannel * >::const_iterator | ConstIterator_HdwChan |
Public Member Functions | |
QwCombiner (const TString &name) | |
Constructor with name. | |
QwCombiner (const QwCombiner &source) | |
Copy constructor. | |
~QwCombiner () override | |
Virtual destructor. | |
Int_t | LoadChannelMap (const std::string &mapfile) override |
Load the channels and sensitivities. | |
Int_t | ConnectChannels (QwSubsystemArrayParity &event) override |
Connect to Channels (event only) | |
Int_t | ConnectChannels (QwSubsystemArrayParity &asym, QwSubsystemArrayParity &diff) override |
Connect to Channels (asymmetry/difference only) | |
void | ProcessData () override |
![]() | |
VQwDataHandler (const TString &name) | |
VQwDataHandler (const VQwDataHandler &source) | |
virtual void | ParseConfigFile (QwParameterFile &file) |
void | SetPointer (QwHelicityPattern *ptr) |
void | SetPointer (QwSubsystemArrayParity *ptr) |
virtual Int_t | ConnectChannels (QwSubsystemArrayParity &, QwSubsystemArrayParity &asym, QwSubsystemArrayParity &diff) |
Int_t | ConnectChannels (QwHelicityPattern &helicitypattern) |
virtual void | UpdateBurstCounter (Short_t burstcounter) |
virtual void | FinishDataHandler () |
~VQwDataHandler () override | |
TString | GetName () |
virtual void | ClearEventData () |
void | InitRunningSum () |
void | AccumulateRunningSum () |
virtual void | AccumulateRunningSum (VQwDataHandler &value, Int_t count=0, Int_t ErrorMask=0xFFFFFFF) |
void | CalculateRunningAverage () |
void | PrintValue () const |
void | WritePromptSummary (QwPromptSummary *ps, TString type) |
virtual void | ConstructTreeBranches (QwRootFile *treerootfile, const std::string &treeprefix="", const std::string &branchprefix="") |
virtual void | FillTreeBranches (QwRootFile *treerootfile) |
virtual void | ConstructNTupleFields (QwRootFile *treerootfile, const std::string &treeprefix="", const std::string &branchprefix="") |
RNTuple methods. | |
virtual void | FillNTupleFields (QwRootFile *treerootfile) |
virtual void | ConstructHistograms (TDirectory *, TString &) |
Construct the histograms in a folder with a prefix. | |
virtual void | FillHistograms () |
Fill the histograms. | |
void | FillTreeVector (QwRootTreeBranchVector &values) const |
void | ConstructBranchAndVector (TTree *tree, TString &prefix, QwRootTreeBranchVector &values) |
void | SetRunLabel (TString x) |
Int_t | LoadChannelMap () |
Bool_t | PublishInternalValues () const override |
Publish all variables of the subsystem. | |
Bool_t | PublishByRequest (TString device_name) override |
Try to publish an internal variable matching the submitted name. | |
![]() | |
MQwPublishable_child () | |
Default constructor Initializes the child object and sets up self-reference for publishing. | |
MQwPublishable_child (const MQwPublishable_child &source) | |
Copy constructor. | |
virtual | ~MQwPublishable_child () |
Virtual destructor. | |
void | SetParent (QwDataHandlerArray *parent) |
Set the parent container for this child object. | |
QwDataHandlerArray * | GetParent () const |
Get the parent container for this child object. | |
![]() | |
~MQwCloneable () override | |
Virtual destructor. | |
VQwDataHandler * | Clone () const override |
Concrete clone method. | |
const VQwFactory< VQwDataHandler > * | Factory () const override |
Factory getter. | |
![]() | |
virtual | ~VQwCloneable () |
Virtual destructor. | |
std::string | GetClassName () const |
Get demangled name of this class. | |
Protected Member Functions | |
QwCombiner () | |
Default constructor (Protected for child class access) | |
![]() | |
VQwDataHandler () | |
void | SetEventcutErrorFlagPointer (const UInt_t *errorflagptr) |
UInt_t | GetEventcutErrorFlag () const |
std::pair< EQwHandleType, std::string > | ParseHandledVariable (const std::string &variable) |
void | CalcOneOutput (const VQwHardwareChannel *dv, VQwHardwareChannel *output, std::vector< const VQwHardwareChannel * > &ivs, std::vector< Double_t > &sens) |
![]() | |
Bool_t | RequestExternalValue (const TString &name, VQwHardwareChannel *value) const |
Retrieve the variable name from other subsystem arrays Get the value corresponding to some variable name from a different data array. | |
const VQwHardwareChannel * | RequestExternalPointer (const TString &name) const |
Retrieve a pointer to an external variable by name Requests a direct pointer to a variable from sibling subsystems via the parent container. | |
Bool_t | PublishInternalValue (const TString name, const TString desc, const VQwHardwareChannel *element) const |
Publish a variable from this child into the parent container. | |
Protected Attributes | |
UInt_t | fErrorFlagMask |
Error flag mask. | |
const UInt_t * | fErrorFlagPointer |
std::vector< std::vector< EQwHandleType > > | fIndependentType |
List of channels to use in the combiner. | |
std::vector< std::vector< std::string > > | fIndependentName |
std::vector< std::vector< const VQwHardwareChannel * > > | fIndependentVar |
std::vector< std::vector< Double_t > > | fSensitivity |
![]() | |
Int_t | fPriority |
Short_t | fBurstCounter |
When a datahandler array is processed, handlers with lower priority will be processed before handlers with higher priority. | |
TString | fName |
std::string | fMapFile |
std::string | fTreeName |
std::string | fTreeComment |
std::string | fPrefix |
TString | run_label |
const UInt_t * | fErrorFlagPtr |
Error flag pointer. | |
QwSubsystemArrayParity * | fSubsystemArray |
Single event pointer. | |
QwHelicityPattern * | fHelicityPattern |
Helicity pattern pointer. | |
std::vector< std::string > | fDependentFull |
std::vector< EQwHandleType > | fDependentType |
std::vector< std::string > | fDependentName |
std::vector< const VQwHardwareChannel * > | fDependentVar |
std::vector< Double_t > | fDependentValues |
std::vector< VQwHardwareChannel * > | fOutputVar |
std::vector< Double_t > | fOutputValues |
std::vector< std::vector< TString > > | fPublishList |
std::string | ParseSeparator |
Bool_t | fKeepRunningSum |
Bool_t | fRunningsumFillsTree |
VQwDataHandler * | fRunningsum |
Additional Inherited Members | |
![]() | |
static VQwDataHandler * | Create (const std::string &name) |
Object creation. | |
static QwCombiner * | Cast (QwCombiner *type) |
Object dynamic cast. | |
Data handler that forms linear combinations of channels.
QwCombiner connects to one or more input variables (yields/asymmetries/ differences) and computes configured linear combinations using provided sensitivities. It is typically used to derive composite diagnostics or to prepare inputs for higher-level analyses.
Definition at line 23 of file QwCombiner.h.
typedef std::vector<VQwHardwareChannel*>::const_iterator QwCombiner::ConstIterator_HdwChan |
Definition at line 27 of file QwCombiner.h.
typedef std::vector<VQwHardwareChannel*>::iterator QwCombiner::Iterator_HdwChan |
Definition at line 26 of file QwCombiner.h.
QwCombiner::QwCombiner | ( | const TString & | name | ) |
Constructor with name.
Definition at line 28 of file QwCombiner.cc.
References fErrorFlagMask, fErrorFlagPointer, VQwDataHandler::fKeepRunningSum, VQwDataHandler::ParseSeparator, and VQwDataHandler::VQwDataHandler().
Referenced by QwCombiner(), QwCombinerSubsystem::QwCombinerSubsystem(), and QwCombinerSubsystem::QwCombinerSubsystem().
QwCombiner::QwCombiner | ( | const QwCombiner & | source | ) |
Copy constructor.
Definition at line 37 of file QwCombiner.cc.
References fErrorFlagMask, fErrorFlagPointer, QwCombiner(), and VQwDataHandler::VQwDataHandler().
|
override |
Virtual destructor.
Destructor.
Definition at line 45 of file QwCombiner.cc.
References VQwDataHandler::fOutputVar.
|
inlineprotected |
Default constructor (Protected for child class access)
Definition at line 57 of file QwCombiner.h.
|
overridevirtual |
Connect to Channels (asymmetry/difference only)
asym | Subsystem array with asymmetries |
diff | Subsystem array with differences |
Connect to the dependent and independent channels
Fill vector of pointers to the relevant data elements
Reimplemented from VQwDataHandler.
Definition at line 174 of file QwCombiner.cc.
References VQwHardwareChannel::Clone(), QwLog::endl(), VQwDataHandler::fDependentFull, VQwDataHandler::fDependentName, VQwDataHandler::fDependentType, VQwDataHandler::fDependentVar, fErrorFlagPointer, fIndependentName, fIndependentType, fIndependentVar, VQwDataHandler::fName, VQwDataHandler::fOutputVar, VQwDataElement::GetElementName(), QwSubsystemArrayParity::GetEventcutErrorFlagPointer(), VQwDataElement::kDerived, VQwDataHandler::kHandleTypeAsym, VQwDataHandler::kHandleTypeDiff, VQwDataHandler::kHandleTypeMps, QwMessage, QwWarning, MQwPublishable< U, T >::RequestExternalPointer(), MQwPublishable_child< QwDataHandlerArray, VQwDataHandler >::RequestExternalPointer(), VQwDataElement::SetElementName(), and VQwDataElement::SetSubsystemName().
|
overridevirtual |
Connect to Channels (event only)
event | Subsystem array with per-MPS yields |
Connect to the dependent and independent channels
Parameters: event Helicity event structure Returns: Zero on success
Fill vector of pointers to the relevant data elements
Reimplemented from VQwDataHandler.
Definition at line 296 of file QwCombiner.cc.
References VQwHardwareChannel::Clone(), QwLog::endl(), VQwDataHandler::fDependentName, VQwDataHandler::fDependentType, VQwDataHandler::fDependentVar, fErrorFlagPointer, fIndependentName, fIndependentType, fIndependentVar, VQwDataHandler::fName, VQwDataHandler::fOutputVar, VQwDataElement::GetElementName(), VQwDataElement::kDerived, VQwDataHandler::kHandleTypeAsym, VQwDataHandler::kHandleTypeDiff, VQwDataHandler::kHandleTypeMps, QwMessage, QwWarning, VQwDataElement::SetElementName(), and VQwDataElement::SetSubsystemName().
|
overridevirtual |
Load the channels and sensitivities.
Load the channel map
mapfile | Filename of map file |
Reimplemented from VQwDataHandler.
Definition at line 71 of file QwCombiner.cc.
References QwLog::endl(), VQwDataHandler::fDependentFull, VQwDataHandler::fDependentName, VQwDataHandler::fDependentType, fErrorFlagMask, fIndependentName, fIndependentType, VQwDataHandler::fPublishList, fSensitivity, QwParameterFile::GetUInt(), VQwDataHandler::ParseHandledVariable(), QwError, QwMessage, QwParameterFile::ReadNextSection(), QwParameterFile::ReadSectionPreamble(), and QwParameterFile::RewindToFileStart().
|
overridevirtual |
Copy dependent variables to output variables (default processing).
Reimplemented from VQwDataHandler.
Reimplemented in QwCombinerSubsystem.
Definition at line 379 of file QwCombiner.cc.
References VQwDataHandler::CalcOneOutput(), VQwDataHandler::fDependentVar, fErrorFlagMask, fErrorFlagPointer, fIndependentVar, VQwDataHandler::fOutputVar, and fSensitivity.
Referenced by QwCombinerSubsystem::ProcessData().
|
protected |
Error flag mask.
Definition at line 60 of file QwCombiner.h.
Referenced by LoadChannelMap(), ProcessData(), QwCombiner(), and QwCombiner().
|
protected |
Definition at line 61 of file QwCombiner.h.
Referenced by ConnectChannels(), ConnectChannels(), ProcessData(), QwCombiner(), and QwCombiner().
|
protected |
Definition at line 65 of file QwCombiner.h.
Referenced by ConnectChannels(), ConnectChannels(), and LoadChannelMap().
|
protected |
List of channels to use in the combiner.
Definition at line 64 of file QwCombiner.h.
Referenced by ConnectChannels(), ConnectChannels(), and LoadChannelMap().
|
protected |
Definition at line 66 of file QwCombiner.h.
Referenced by ConnectChannels(), ConnectChannels(), and ProcessData().
|
protected |
Definition at line 67 of file QwCombiner.h.
Referenced by LoadChannelMap(), and ProcessData().