NuMatrix Class Reference

#include <NuMatrix.h>

Inheritance diagram for NuMatrix:
NuMatrix1D NuMatrix2D NuMatrixCPT RockMatrix NuMatrixSpectrum Rock1DMatrix Rock1DMatrix RockMatrixRAF0720Eonly RockMatrixRAF0720Ext RockMatrixRAF0720Std

List of all members.

Public Types

enum  MatrixFillType { kUnknown = 0, kTrue = 1, kReco = 2 }

Public Member Functions

 NuMatrix ()
 NuMatrix (Double_t POT)
virtual ~NuMatrix ()
virtual NuMatrixCopy (void) const =0
 Makes a 'deep copy' - every subclass should implement this.
virtual Double_t StatsLikelihood (const NuMatrix *with) const =0
 Compares two NuMatrix objects and returns the LL difference.
virtual void ScaleToPOT (Double_t new_POT)=0
 Changes the POT, by scaling the data.
virtual void Scale (Double_t value)=0
 Scales the Matrix, without changing the POT.
virtual void Divide (const NuMatrix &correction)=0
 Make a correction by Dividing.
virtual void Divide (const TH1 &correction, const Option_t *option="")=0
virtual void Divide (const TGraph &correction)=0
virtual void Multiply (const NuMatrix &correction)=0
 Make a correction by Multiplying.
virtual void Multiply (const TH1 &correction, const Option_t *option="")=0
virtual void Multiply (const TGraph &correction)=0
virtual void Add (const NuMatrix &correction, Bool_t addpot=false)=0
 Functions for addition and subtraction.
virtual void Subtract (const NuMatrix &correction)=0
virtual void RecoToTrue (const TH2D &correction)=0
virtual void TrueToReco (const TH2D &correction)=0
virtual void ExtrapolateNDToFD (const TH2D &beammatrix)=0
virtual void SetValue (Double_t val)=0
virtual Int_t Write (const TString &name) const =0
 Writes to the current file.
virtual TH1 * Spectrum (void) const =0
 Returns a TH1 object representing the data the spectrum holds. Or zero.
virtual void Draw (Option_t *option="")=0
virtual Bool_t Complete () const =0
 Tells the user if the class is completely configured.
virtual void Oscillate (const Double_t dm2, const Double_t sn2)=0
virtual void DecayCC (const Double_t dm2, const Double_t sn2, const Double_t alpha)=0
virtual void DecayNC (const Double_t sn2, const Double_t alpha)=0
virtual void DecayMuToTau (const Double_t dm2, const Double_t sn2, const Double_t alpha)=0
virtual void Decohere (const Double_t dm2, const Double_t sn2, const Double_t mu2)=0
virtual void ResetPOT (Double_t new_POT)
 Sets the POT count directly, without scaling.
virtual Double_t GetPOT (void) const
 Retrieves the POT count.
virtual void Multiply (const Double_t factor)
virtual void Divide (const Double_t by)
virtual void Fill (const NuEvent &evt)
 Stores a NuEvent in the data representation of this NuMatrix.
virtual void SetFillTrueEnergy (void)
 We want to fill this matrix with true energy varaibles.
virtual void SetFillRecoEnergy (void)
 We want to fill this matrix with reco energy variables.
MatrixFillType GetFillTypeEnergy (void)
 Return the energy type that we are set to.

Protected Attributes

Double_t fPot
 The POT for this Matrix. May be zero.

Private Attributes

MatrixFillType fEnergyType

Detailed Description

A pure abstract base data representation. Designed to be a more flexible replacement for NuMatrixSpectrum

Definition at line 15 of file NuMatrix.h.


Member Enumeration Documentation

Enumerator:
kUnknown 
kTrue 
kReco 

Definition at line 111 of file NuMatrix.h.

00111                         {
00112       kUnknown = 0,
00113       kTrue = 1,
00114       kReco = 2
00115     };


Constructor & Destructor Documentation

NuMatrix::NuMatrix (  ) 

Definition at line 18 of file NuMatrix.cxx.

00018                    : fPot(0.0), fEnergyType(kUnknown)
00019 {
00020   
00021 }

NuMatrix::NuMatrix ( Double_t  POT  ) 

Definition at line 23 of file NuMatrix.cxx.

00023                                : fPot(POT), fEnergyType(kUnknown)
00024 {
00025   
00026 }

NuMatrix::~NuMatrix (  )  [virtual]

Definition at line 28 of file NuMatrix.cxx.

00029 {
00030   
00031 }


Member Function Documentation

virtual void NuMatrix::Add ( const NuMatrix correction,
Bool_t  addpot = false 
) [pure virtual]

Functions for addition and subtraction.

Implemented in NuMatrix1D, NuMatrix2D, NuMatrixCPT, RockMatrixRAF0720Eonly, RockMatrixRAF0720Ext, and RockMatrixRAF0720Std.

Referenced by NuMatrixCPT::Add().

virtual Bool_t NuMatrix::Complete (  )  const [pure virtual]

Tells the user if the class is completely configured.

Implemented in NuMatrix1D, NuMatrix2D, NuMatrixCPT, RockMatrixRAF0720Eonly, RockMatrixRAF0720Ext, and RockMatrixRAF0720Std.

Referenced by NuMatrixCPT::Complete(), RockFiller::RockFiller(), and RockRunCPT::RockRunCPT().

virtual NuMatrix* NuMatrix::Copy ( void   )  const [pure virtual]
virtual void NuMatrix::DecayCC ( const Double_t  dm2,
const Double_t  sn2,
const Double_t  alpha 
) [pure virtual]

Implemented in NuMatrix1D.

Referenced by NuMatrixCPT::DecayCC().

virtual void NuMatrix::DecayMuToTau ( const Double_t  dm2,
const Double_t  sn2,
const Double_t  alpha 
) [pure virtual]

Implemented in NuMatrix1D.

Referenced by NuMatrixCPT::DecayMuToTau().

virtual void NuMatrix::DecayNC ( const Double_t  sn2,
const Double_t  alpha 
) [pure virtual]

Implemented in NuMatrix1D.

Referenced by NuMatrixCPT::DecayNC().

virtual void NuMatrix::Decohere ( const Double_t  dm2,
const Double_t  sn2,
const Double_t  mu2 
) [pure virtual]

Implemented in NuMatrix1D.

Referenced by NuMatrixCPT::Decohere().

virtual void NuMatrix::Divide ( const Double_t  by  )  [inline, virtual]

Definition at line 97 of file NuMatrix.h.

References Scale().

00097 { Scale(1./by); }

virtual void NuMatrix::Divide ( const TGraph &  correction  )  [pure virtual]
virtual void NuMatrix::Divide ( const TH1 &  correction,
const Option_t *  option = "" 
) [pure virtual]
virtual void NuMatrix::Divide ( const NuMatrix correction  )  [pure virtual]

Make a correction by Dividing.

Implemented in NuMatrix1D, NuMatrix2D, and NuMatrixCPT.

Referenced by NuMatrixCPT::Divide().

virtual void NuMatrix::Draw ( Option_t *  option = ""  )  [pure virtual]
virtual void NuMatrix::ExtrapolateNDToFD ( const TH2D &  beammatrix  )  [pure virtual]
void NuMatrix::Fill ( const NuEvent evt  )  [virtual]

Stores a NuEvent in the data representation of this NuMatrix.

Reimplemented in NuMatrix1D, NuMatrixCPT, RockMatrix, and Rock1DMatrix.

Definition at line 35 of file NuMatrix.cxx.

References Msg::kError, and MSG.

Referenced by NuMatrixCPT::Fill().

00036 {
00037   MSG("NuMatrix",Msg::kError) << "NuMatrix::Fill is unimplemented for this class" << endl;
00038   assert(0);
00039 }

MatrixFillType NuMatrix::GetFillTypeEnergy ( void   )  [inline]

Return the energy type that we are set to.

Definition at line 117 of file NuMatrix.h.

References fEnergyType.

Referenced by NuFCRunInfo::BuildFDSummaries(), NuMatrixCPT::Fill(), and NuMatrix1D::Fill().

00117 { return fEnergyType; }

virtual Double_t NuMatrix::GetPOT ( void   )  const [inline, virtual]

Retrieves the POT count.

Definition at line 93 of file NuMatrix.h.

References fPot.

Referenced by RockMatrixRAF0720Ext::Add(), NuMatrixCPT::Add(), RockMatrixRAF0720Eonly::Add(), NuMatrix1D::Add(), NuMatrix2D::Add(), RockMatrixRAF0720Std::Add(), NuMatrixSpectrum::BlessedFD(), NuMatrixSpectrum::BlessedFD7e20(), NuMatrixSpectrum::BlessedFDRatio(), NuMatrixSpectrum::BlessedForNC(), NuFCRunInfo::BuildSampleWeights(), NuMMRunTransSME::CacheExtrapolation(), NuMMRunLED::CacheExtrapolation(), NuMMRunFCNSINu::CacheExtrapolation(), NuMMRunNSI::CacheExtrapolation(), NuMMRunFCNSINubar::CacheExtrapolation(), NuMMRunTransition::CacheExtrapolation(), NuMMRunFC::CacheExtrapolation(), NuMMRunNDOsc::CalculateFDFlux(), RockRunCPT::CalculateFDFlux(), NuMMRunNSINu::CalculateFDFlux(), NuMMRunNSINubar::CalculateFDFlux(), NuMMRunCC2010New::CalculateFDFlux(), NuMMRunCC2010::CalculateFDFlux(), NuMMRunCC2010New::CalculateFDNCBackground(), NuMMRunNDOsc::CalculateFDNCBackground(), NuMMRunNSINubar::CalculateFDNCBackground(), NuMMRunNSINu::CalculateFDNCBackground(), NuMMRunCC2010New::CalculateFDTauFlux(), NuMMRunNSINubar::CalculateFDTauFlux(), NuMMRunNDOsc::CalculateFDTauFlux(), NuMMRunNSINu::CalculateFDTauFlux(), NuMMRunNC2010::CalculateNDFlux(), NuFCExperimentFactory::GenerateNewExperiment(), NuMatrix1D::GetNuMatrixSpectrum(), RockFiller::GetPot(), RockFiller::GetRockMatrix(), NuMMRunTemplates::Go(), NuFCDelegateArchiver::GotFDSpectrum(), NuFCDelegateArchiver::GotNDSpectrum(), NuMMRunCCTutorial::MakeFDPred(), NuMMRunCPT::MakeFDPred(), NuMatrix1D::NuMatrix1D(), NuMatrixCPT::NuMatrixCPT(), NuMatrix1D::operator=(), NuMatrixSpectrum::PoT(), NuMMRunNDOsc::PrecalculateWSFlux(), NuMMRunNSINu::PrecalculateWSFlux(), NuMMRunCC2010New::PrecalculateWSFlux(), NuMMRunNSINubar::PrecalculateWSFlux(), NuMMRunFCNSINubar::ResetFDData(), NuMMRunFCNSINu::ResetFDData(), NuMMRunFC::ResetFDData(), NuMMRunLED::ResetFDData(), NuFCGridPointNSINu::Run(), NuFCGridPointNSINubar::Run(), NuFCGridPoint::Run(), NuMatrix1D::ScaleToPOT(), NuMatrix2D::ScaleToPOT(), RockMatrixRAF0720Eonly::ScaleToPOT(), RockMatrixRAF0720Std::ScaleToPOT(), RockMatrixRAF0720Ext::ScaleToPOT(), NuEZFitterNSI::UseFDFakeData(), NuEZFitter::UseFDFakeData(), NuMMRunTransition::WriteFDPredHistos(), and NuMMRunCPT::WriteFDPredHistos().

00093 { return fPot; }

virtual void NuMatrix::Multiply ( const Double_t  factor  )  [inline, virtual]

Definition at line 96 of file NuMatrix.h.

References Scale().

00096 { Scale(factor); }

virtual void NuMatrix::Multiply ( const TGraph &  correction  )  [pure virtual]
virtual void NuMatrix::Multiply ( const TH1 &  correction,
const Option_t *  option = "" 
) [pure virtual]
virtual void NuMatrix::Multiply ( const NuMatrix correction  )  [pure virtual]

Make a correction by Multiplying.

Implemented in NuMatrix1D, NuMatrix2D, and NuMatrixCPT.

Referenced by NuMatrixCPT::Multiply().

virtual void NuMatrix::Oscillate ( const Double_t  dm2,
const Double_t  sn2 
) [pure virtual]
virtual void NuMatrix::RecoToTrue ( const TH2D &  correction  )  [pure virtual]
virtual void NuMatrix::ResetPOT ( Double_t  new_POT  )  [inline, virtual]
virtual void NuMatrix::Scale ( Double_t  value  )  [pure virtual]
virtual void NuMatrix::ScaleToPOT ( Double_t  new_POT  )  [pure virtual]

Changes the POT, by scaling the data.

Implemented in NuMatrix1D, NuMatrix2D, NuMatrixCPT, RockMatrixRAF0720Eonly, RockMatrixRAF0720Ext, and RockMatrixRAF0720Std.

Referenced by NuMatrixCPT::ScaleToPOT().

virtual void NuMatrix::SetFillRecoEnergy ( void   )  [inline, virtual]

We want to fill this matrix with reco energy variables.

Reimplemented in NuMatrixCPT, and RockMatrix.

Definition at line 109 of file NuMatrix.h.

References fEnergyType, and kReco.

Referenced by NuMatrixCPT::SetFillRecoEnergy().

00109 { fEnergyType = kReco; }

virtual void NuMatrix::SetFillTrueEnergy ( void   )  [inline, virtual]

We want to fill this matrix with true energy varaibles.

Sets what kind of data this NuMatrix holds. An example of this is entirely Reco, entirely Tru

Reimplemented in NuMatrixCPT, and RockMatrix.

Definition at line 107 of file NuMatrix.h.

References fEnergyType, and kTrue.

Referenced by NuFCRunInfo::BuildFDSummaries(), and NuMatrixCPT::SetFillTrueEnergy().

00107 { fEnergyType = kTrue; }

virtual void NuMatrix::SetValue ( Double_t  val  )  [pure virtual]
virtual TH1* NuMatrix::Spectrum ( void   )  const [pure virtual]
virtual Double_t NuMatrix::StatsLikelihood ( const NuMatrix with  )  const [pure virtual]

Compares two NuMatrix objects and returns the LL difference.

Implemented in NuMatrix1D, NuMatrix2D, RockMatrixRAF0720Eonly, RockMatrixRAF0720Ext, and RockMatrixRAF0720Std.

Referenced by RockRunCPT::ComparePredWithData(), and NuMatrixCPT::StatsLikelihood().

virtual void NuMatrix::Subtract ( const NuMatrix correction  )  [pure virtual]
virtual void NuMatrix::TrueToReco ( const TH2D &  correction  )  [pure virtual]
virtual Int_t NuMatrix::Write ( const TString &  name  )  const [pure virtual]

Member Data Documentation

Definition at line 126 of file NuMatrix.h.

Referenced by GetFillTypeEnergy(), SetFillRecoEnergy(), and SetFillTrueEnergy().

Double_t NuMatrix::fPot [protected]

The documentation for this class was generated from the following files:

Generated on 22 Nov 2017 for loon by  doxygen 1.6.1