ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
|
Go to the documentation of this file.
8 #include <TClonesArray.h>
29 class AtParameterDistribution;
33 using ParamPtr = std::shared_ptr<AtParameterDistribution>;
34 using SimPtr = std::shared_ptr<AtSimpleSimulation>;
38 using MapPtr = std::shared_ptr<AtMap>;
39 using PsaPtr = std::shared_ptr<AtPSA>;
81 void FillResultArrays(TClonesArray &resultArray, TClonesArray &simEvent, TClonesArray &simRawEvent);
136 #endif // ATMCFITTER_H
void SetNumIter(int iter)
std::shared_ptr< AtPSA > PsaPtr
AtMCFitter(SimPtr sim, ClusterPtr cluster, PulsePtr pulse)
std::mutex fResultMutex
Store the iteration number sorted by lowest objective funtion.
std::shared_ptr< AtMap > MapPtr
void FillResultArrays(TClonesArray &resultArray, TClonesArray &simEvent, TClonesArray &simRawEvent)
void SetNumRounds(int rounds)
Set number of times to run fNumIter iterations and then re-center and truncate the parameter space.
virtual double ObjectiveFunction(const AtBaseEvent &expEvent, int SimEventID, AtMCResult &definition)=0
This is the thing we are minimizing between events (SimEventID is index in TClonesArray)
std::vector< size_t > cluster
int DigitizeEvent(const TClonesArray &points, int idx, AtPulse *pulse)
std::shared_ptr< AtPulse > PulsePtr
virtual AtMCResult DefineEvent()
std::vector< AtRawEvent > fRawEventArray
virtual ~AtMCFitter()=default
std::shared_ptr< AtClusterize > ClusterPtr
virtual void CreateParamDistros()=0
Create the parameter distributions to use for the fit.
Base class for all event types in ATTPCROOT.
std::shared_ptr< AtParameterDistribution > ParamPtr
void SetTimeEvent(bool val)
virtual TClonesArray SimulateEvent(AtMCResult &definition)=0
void SetNumThreads(int num)
void SetNumEventsToSave(int num)
virtual void SetParamDistributions(const AtPatternEvent &event)=0
Set parameter distributions (mean/spread) from the event.
ParamPtr GetParameter(const std::string &name) const
void Exec(const AtPatternEvent &event)
std::map< std::string, ParamPtr > fParameters
std::shared_ptr< AtSimpleSimulation > SimPtr
virtual void RecenterParamDistributions()
std::vector< AtEvent > fEventArray
std::pair< int, double > ObjPair
std::vector< PulsePtr > fThPulse
const AtPatternEvent * fCurrentEvent
void RunIterRange(int startIter, int numIter, AtPulse *pulse)
std::set< AtMCResult, std::function< bool(AtMCResult, AtMCResult)> > fResults