30#ifndef _PRUNLISTCOLLECTION_H_
31#define _PRUNLISTCOLLECTION_H_
254 virtual Double_t
GetMuMinusChisq(
const std::vector<Double_t>& par)
const;
259 virtual Double_t
GetNonMusrChisq(
const std::vector<Double_t>& par)
const;
285 virtual Double_t
GetSingleRunChisq(
const std::vector<Double_t>& par,
const UInt_t idx)
const;
623 virtual Double_t
GetField(
const TString &runName)
const;
636 virtual Double_t
GetEnergy(
const TString &runName)
const;
649 virtual const Char_t*
GetSetup(
const TString &runName)
const;
664 virtual const Char_t*
GetXAxisTitle(
const TString &runName,
const UInt_t idx)
const;
680 virtual const Char_t*
GetYAxisTitle(
const TString &runName,
const UInt_t idx)
const;
std::vector< PDoublePair > PDoublePairVector
MSR file parser and manager for the musrfit framework.
Raw data file reader and format converter for μSR data.
virtual Double_t GetSingleRunMaximumLikelihood(const std::vector< Double_t > &par, const UInt_t idx) const
Calculates maximum likelihood for a single run.
virtual Double_t GetField(const TString &runName) const
Retrieves magnetic field value for a specific run.
virtual void SetFitRange(const PDoublePairVector fitRange)
Sets fit range for all runs (time-based or bin-based).
virtual PRunData * GetSingleHisto(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for a single histogram run.
virtual Double_t GetAsymmetryBNMRMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all β-NMR asymmetry runs.
virtual UInt_t GetNoOfMuMinus() const
Returns the number of μ⁻ runs in the collection.
std::vector< PRunNonMusr * > fRunNonMusrList
Collection of non-μSR run objects.
virtual UInt_t GetNoOfSingleHisto() const
Returns the number of single histogram runs in the collection.
virtual UInt_t GetNoOfAsymmetryRRF() const
Returns the number of asymmetry RRF runs in the collection.
virtual Double_t GetAsymmetryBNMRChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all β-NMR asymmetry runs.
virtual Double_t GetMuMinusMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all μ⁻ runs.
virtual PRunData * GetSingleHistoRRF(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for a single histogram RRF run.
virtual const Char_t * GetSetup(const TString &runName) const
Retrieves experimental setup identifier for a specific run.
virtual PRunData * GetNonMusr(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for a non-μSR run.
virtual const PDoublePairVector * GetTemp(const TString &runName) const
Retrieves temperature information for a specific run.
std::vector< PRunAsymmetry * > fRunAsymmetryList
Collection of asymmetry run objects.
virtual Double_t GetAsymmetryRRFMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all asymmetry RRF runs.
EDataSwitch
Enumeration for data access mode.
virtual UInt_t GetNoOfBinsFitted(const UInt_t idx) const
Returns the number of bins fitted for a specific run.
virtual ~PRunListCollection()
Virtual destructor that cleans up all run objects.
virtual const Char_t * GetXAxisTitle(const TString &runName, const UInt_t idx) const
Retrieves x-axis label for plotting.
std::vector< PRunAsymmetryRRF * > fRunAsymmetryRRFList
Collection of asymmetry RRF run objects.
std::vector< PRunMuMinus * > fRunMuMinusList
Collection of μ⁻ (negative muon) run objects.
virtual Double_t GetNonMusrChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all non-μSR runs.
virtual Double_t GetSingleHistoMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all single histogram runs.
virtual Double_t GetEnergy(const TString &runName) const
Retrieves beam energy for a specific run.
virtual Double_t GetSingleHistoChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all single histogram runs.
PRunDataHandler * fData
Pointer to raw data handler (not owned).
virtual Double_t GetSingleRunChisqExpected(const std::vector< Double_t > &par, const UInt_t idx) const
Calculates expected χ² for a single run by index.
virtual PRunData * GetAsymmetry(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for an asymmetry run.
std::vector< PRunSingleHistoRRF * > fRunSingleHistoRRFList
Collection of single histogram RRF run objects.
virtual UInt_t GetNoOfNonMusr() const
Returns the number of non-μSR runs in the collection.
virtual Double_t GetSingleRunChisq(const std::vector< Double_t > &par, const UInt_t idx) const
Calculates χ² for a single run by index.
virtual UInt_t GetNoOfAsymmetry() const
Returns the number of asymmetry runs in the collection.
virtual UInt_t GetNoOfAsymmetryBNMR() const
Returns the number of β-NMR asymmetry runs in the collection.
virtual Double_t GetAsymmetryRRFChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all asymmetry RRF runs.
virtual Double_t GetSingleHistoRRFMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all single histogram RRF runs.
virtual Double_t GetSingleHistoRRFChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all single histogram RRF runs.
std::vector< PRunAsymmetryBNMR * > fRunAsymmetryBNMRList
Collection of β-NMR asymmetry run objects.
PMsrHandler * fMsrInfo
Pointer to MSR file handler (not owned).
virtual const Char_t * GetYAxisTitle(const TString &runName, const UInt_t idx) const
Retrieves y-axis label for plotting.
virtual UInt_t GetNoOfSingleHistoRRF() const
Returns the number of single histogram RRF runs in the collection.
virtual Double_t GetAsymmetryChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all asymmetry runs.
virtual UInt_t GetTotalNoOfBinsFitted() const
Returns total number of bins fitted across all runs.
Bool_t fTheoAsData
Theory calculation mode flag.
virtual Double_t GetSingleRunMaximumLikelihoodExpected(const std::vector< Double_t > &par, const UInt_t idx) const
Calculates expected maximum likelihood for a single run (theoretical expectation).
virtual PRunData * GetMuMinus(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for a μ⁻ run.
virtual Double_t GetMuMinusChisq(const std::vector< Double_t > &par) const
Calculates total χ² for all mu-minus runs.
PRunListCollection(PMsrHandler *msrInfo, PRunDataHandler *data, Bool_t theoAsdata=false)
Constructor that initializes the collection.
virtual Double_t GetNonMusrMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all non-μSR runs.
std::vector< PRunSingleHisto * > fRunSingleHistoList
Collection of single histogram run objects.
virtual Double_t GetAsymmetryMaximumLikelihood(const std::vector< Double_t > &par) const
Calculates total maximum likelihood for all asymmetry runs.
virtual PRunData * GetAsymmetryRRF(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for an asymmetry RRF run.
virtual PRunData * GetAsymmetryBNMR(UInt_t index, EDataSwitch tag=kIndex)
Retrieves processed data for a β-NMR asymmetry run.
virtual Bool_t Add(Int_t runNo, EPMusrHandleTag tag)
Adds a run to the appropriate list based on fit type.