#include <MCReweight.h>
Public Member Functions | |
| ~MCReweight () | |
| void | AddWeightCalculator (WeightCalculator *) |
| void | ClearWeightCalculators () |
| void | ResetAllReweightConfigs () |
| int | NumWeightCalcAdded () |
| void | SetStandardConfig (Registry *stdconfig) |
| Registry * | GetStandardConfig () |
| double | ComputeWeight (Registry *event, Registry *rwtconfig=0) |
| double | ComputeWeight (MCEventInfo *event, NuParent *parent=0, Registry *rwtconfig=0) |
| void | PrintReweightConfig (ostream &) |
Static Public Member Functions | |
| MCReweight & | Instance () |
Protected Member Functions | |
| MCReweight () | |
Private Attributes | |
| std::vector< WeightCalculator * > | fWeightCalculators |
| Registry | fStandardConfig |
Static Private Attributes | |
| MCReweight * | fgInstance = 0 |
Friends | |
| struct | Cleaner |
|
|
Definition at line 12 of file MCReweight.cxx. References fWeightCalculators. Referenced by Instance(). 00013 {
00014 fWeightCalculators.clear();
00015 }
|
|
|
Definition at line 18 of file MCReweight.cxx. References MSG. 00019 {
00020 MSG("MCReweight",Msg::kInfo) << "Closing down MCReweight object"
00021 << endl;
00022 }
|
|
|
Definition at line 72 of file MCReweight.cxx. References fStandardConfig, fWeightCalculators, WeightCalculator::GetName(), MSG, and WeightCalculator::SetStandardConfig(). Referenced by add_neugen_weight_calculator(), NuZBeamReweight::AddNeugenWeightCalculator(), SKZPWeightCalculator::Config(), NuSystematic::NeugenXSecShift(), and MiniPlotMaker::SetSystematic(). 00072 {
00073
00074 std::vector<WeightCalculator*>::iterator beg = fWeightCalculators.begin();
00075 std::vector<WeightCalculator*>::iterator end = fWeightCalculators.end();
00076 while(beg!=end){
00077 if((*beg)->GetName()==wc->GetName()){
00078 MSG("MCReweight", Msg::kError)
00079 << "Attempting to add " << wc->GetName() << " more than once! "
00080 << "This is not a good idea, so not doing it."
00081 << endl;
00082 return;
00083 }
00084 beg++;
00085 }
00086 wc->SetStandardConfig(&fStandardConfig);
00087 fWeightCalculators.push_back(wc);
00088
00089 }
|
|
|
Definition at line 92 of file MCReweight.cxx. References fWeightCalculators. 00092 {
00093
00094 fWeightCalculators.clear();
00095
00096 }
|
|
||||||||||||||||
|
Definition at line 57 of file MCReweight.cxx. References fWeightCalculators. 00058 {
00059
00060 std::vector<WeightCalculator*>::iterator beg = fWeightCalculators.begin();
00061 std::vector<WeightCalculator*>::iterator end = fWeightCalculators.end();
00062 double totalWeight = 1;
00063 while(beg!=end) {
00064 (*beg)->SetReweightConfig(rwtconfig);
00065 totalWeight *= (*beg)->GetWeight(event,parent);
00066 beg++;
00067 }
00068 return totalWeight;
00069 }
|
|
||||||||||||
|
Definition at line 43 of file MCReweight.cxx. References fWeightCalculators. Referenced by NueXsecWeightAna::Analyze(), NuZBeamReweight::CalcGeneratorReweight(), MadAnalysis::Do2DFitNearFar(), NueSystematic::DoNeugenCalc(), NCEventInfo::FindNeugenWeight(), SKZPWeightCalculator::GetDetWeight(), MiniPlotMaker::GetReweight(), PANAnalysis::MakeReweightTree(), NuSystematic::NeugenXSecShift(), and NueReweight::Reco(). 00043 {
00044
00045 std::vector<WeightCalculator*>::iterator beg = fWeightCalculators.begin();
00046 std::vector<WeightCalculator*>::iterator end = fWeightCalculators.end();
00047 double totalWeight = 1;
00048 while(beg!=end) {
00049 (*beg)->SetReweightConfig(rwtconfig);
00050 totalWeight *= (*beg)->GetWeight(event);
00051 beg++;
00052 }
00053 return totalWeight;
00054 }
|
|
|
Definition at line 44 of file MCReweight.h. 00044 {return &fStandardConfig;}
|
|
|
Definition at line 25 of file MCReweight.cxx. References fgInstance, MCReweight(), MSG, and MCReweight::Cleaner::UseMe(). Referenced by add_neugen_weight_calculator(), NuZBeamReweight::AddNeugenWeightCalculator(), NuZBeamReweight::CalcGeneratorReweight(), MadAnalysis::Do2DFitNearFar(), NueSystematic::DoNeugenCalc(), NCEventInfo::FindNeugenWeight(), PANAnalysis::MakeReweightTree(), NuSystematic::NeugenXSecShift(), NueModule::NueModule(), MiniPlotMaker::SetSystematic(), and SKZPWeightCalculator::SKZPWeightCalculator(). 00026 {
00027 static Cleaner cleaner;
00028
00029 //all copied from Calibrator package...
00030 if (!fgInstance) {
00031 cleaner.UseMe(); // dummy call to quiet compiler warnings
00032 fgInstance = new MCReweight();
00033 if(!fgInstance){
00034 MSG("MCReweight", Msg::kError)
00035 << "No MCReweight Instance - fatal." << endl;
00036 assert(fgInstance); // Kill job is there is no instance
00037 }
00038 }
00039 return *fgInstance;
00040 }
|
|
|
Definition at line 41 of file MCReweight.h. 00041 {return fWeightCalculators.size();}
|
|
|
Definition at line 121 of file MCReweight.cxx. References fWeightCalculators. 00121 {
00122 std::vector<WeightCalculator*>::iterator beg = fWeightCalculators.begin();
00123 std::vector<WeightCalculator*>::iterator end = fWeightCalculators.end();
00124 while(beg!=end){
00125 (*beg)->PrintReweightConfig(stream);
00126 beg++;
00127 }
00128 }
|
|
|
Definition at line 99 of file MCReweight.cxx. References fWeightCalculators, and WeightCalculator::ReweightConfigReset(). Referenced by NCEventInfo::FindNeugenWeight(), and NuSystematic::NeugenXSecShift(). 00099 {
00100 std::vector<WeightCalculator*>::iterator beg = fWeightCalculators.begin();
00101 std::vector<WeightCalculator*>::iterator end = fWeightCalculators.end();
00102 while(beg!=end){
00103 (*beg)->ReweightConfigReset();
00104 beg++;
00105 }
00106 }
|
|
|
Definition at line 109 of file MCReweight.cxx. References fStandardConfig, and fWeightCalculators. 00109 {
00110 if(!config) return;
00111 fStandardConfig = *config;
00112 std::vector<WeightCalculator*>::iterator beg = fWeightCalculators.begin();
00113 std::vector<WeightCalculator*>::iterator end = fWeightCalculators.end();
00114 while(beg!=end){
00115 (*beg)->SetStandardConfig(&fStandardConfig);
00116 beg++;
00117 }
00118 }
|
|
|
Definition at line 27 of file MCReweight.h. |
|
|
Definition at line 9 of file MCReweight.cxx. Referenced by Instance(), and MCReweight::Cleaner::~Cleaner(). |
|
|
Definition at line 15 of file MCReweight.h. Referenced by AddWeightCalculator(), and SetStandardConfig(). |
|
|
Definition at line 14 of file MCReweight.h. Referenced by AddWeightCalculator(), ClearWeightCalculators(), ComputeWeight(), MCReweight(), PrintReweightConfig(), ResetAllReweightConfigs(), and SetStandardConfig(). |
1.3.9.1