30 #ifndef GeneratorFrame_HH
31 #define GeneratorFrame_HH
44 GeneratorFrame(
const std::string& sname,
const std::string& stitle);
79 void SetPCut(
double cut);
80 void SetPtCut(
double cut);
81 void SetEtaCut(
double cut);
82 void SetMassWindowCut(
double min,
double max);
87 void RemoveMassWindowCut();
98 virtual double GetMinimumMassMCMC()
const;
99 virtual void GenerateMassMCMC(
double& mass,
double& prob,
100 double max = -1.)
const;
101 virtual double GetProbMCMC(
double mass = -1.)
const;
103 double GetRandom()
const;
104 double GetGaus(
double mu,
double sig)
const;
111 bool InitializeAnalysisRecursive();
112 bool AnalyzeEventRecursive();
113 bool ClearEventRecursive();
115 virtual void ResetGenFrame() = 0;
116 virtual bool GenerateFrame() = 0;
118 void SetChildren(
const std::vector<TLorentzVector>& P_children);
119 virtual bool InitializeGenAnalysis();
121 virtual bool IterateMCMC();
122 bool IterateRecursiveMCMC();
124 void SetVariableMassMCMC(
bool var =
true);
125 virtual void SetMassMCMC(
double mass);
128 bool EventInAcceptance()
const;
135 mutable long m_Npass;
virtual double GetMass() const
Get the mass of this frame.
virtual GeneratorFrame const & GetParentFrame() const
Returns the parent of this frame.
bool IsVariableMassMCMC() const
Frame is capable having a variable mass? (true/false)
virtual void AddChildFrame(RestFrame &frame)
Add a child RestFrame to this frame.
virtual void SetParentFrame(RestFrame &frame=RestFrame::Empty())
Set the parent frame for this frame.
virtual void Clear()
Clears GeneratorFrame of all connections to other objects.
abstract base class for all Frame objects
static GeneratorFrame & Empty()
Returns empty instance of class.
virtual GeneratorFrame & GetChildFrame(int i=0) const
Get the frame of the i th child.
void PrintGeneratorEfficiency() const
Print generator efficiency information.