15 #include <unordered_map>
25 #include "TSVariable.h"
26 #include "TSCategory.h"
27 #include "TSCategoryCard.h"
28 #include "TSNuiParam.h"
29 #include "TSNuiParamSet.h"
31 #include "TSOscProb.h"
32 #include "TSOscProb3Plus1.h"
57 TSEvent(TString name, TString tag, TString title);
64 static void ClearProcessChain();
66 double ComputeOscillProb();
68 double ComputeWeight();
73 std::map<const TSVariable*,double>& FillValues();
79 int GetId()
const {
return fId;}
81 int GetNumOfVars()
const {
return fNumOfVars;}
85 double GetOscillProb()
const {
return fOscillProb;}
87 TSOscProb* GetOscillProbFunction() {
return fProbFunction;}
89 TSPOTMgr& GetPOTMgr() {
return fPOTMgr;}
91 TString GetTag()
const {
return GetLabel();}
96 double GetVarValue(
int)
const;
99 double GetWeight()
const {
return fWeight;}
100 double GetWeightNative()
const {
return fWeightNative;}
102 double GetWeightPosition(
int position);
103 std::vector<double>& GetSavedWeights() {
return fWeightSaved;}
107 bool HasCategoryCard()
const {
return fHasCategory;}
108 bool HasOscillProbFunction()
const {
return fHasProbFunc;}
109 bool HasWeightParams()
const {
return fHasWeightParams;}
114 double Oscillate(
int opt=1);
116 virtual void Process();
117 void ProcessWith(
double (
TSEvent::*p)() ) { (this->*p)(); }
121 double RestoreWeightNative();
123 double ReWeightWith(
double);
124 double ReWeightWithSavedPosition(
int postion);
125 double ReWeightNativeWith(
double);
127 double ReWeightWithNuiParams(
int opt=0);
130 double SaveWeightPosition(
int position);
134 void SetId(
int i) {fId=i;}
136 void SetNativePOT(
float POT,
float Power=20);
138 void ScaleToNativePOT();
143 void SetTag(TString tag) { SetLabel(tag); }
147 void SetVarValue(
int,
double);
149 void SetWeightNative(
double w);
150 void SetWeight(
double w);
159 bool fHasWeightParams;
165 double fWeightNative;
167 std::vector<double> fWeightSaved;
176 std::map<int,const TSVariable*> fVarPtr;
177 std::map<int,TSVariable *> fVarList;
181 std::map<const TSVariable*,double> fMapOfValues;
192 static int fProcChainN;
Definition: TSRespFunc.h:28
Definition: TSArgList.h:30
Definition: TSCategoryCard.h:27
Definition: TSVariable.h:55
Definition: TSNuiParam.h:30
void ScaleToPOT(float POT, float Power=20)
Definition: TSEvent.cc:522
Definition: TSNuiParamSet.h:36
Definition: TSPOTMgr.h:26
Definition: TSOscProb.h:27
int SetWeightParams(const TSNuiParamSet &)
Definition: TSEvent.cc:680