LOGO

RestFrames  v1.0.1
RestFrames HEP Event Analysis Software Library
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RestFrames::GeneratorFrame Class Referenceabstract

Detailed Description

Definition at line 42 of file GeneratorFrame.hh.

Inheritance diagram for RestFrames::GeneratorFrame:
Inheritance graph
[legend]

Public Member Functions

 GeneratorFrame (const std::string &sname, const std::string &stitle)
 Standard constructor. More...
 
 GeneratorFrame ()
 Empty constructor.
 
virtual void Clear ()
 Clears GeneratorFrame of all connections to other objects.
 
virtual void AddChildFrame (RestFrame &frame)
 Adds a child RestFrame to this frame. More...
 
virtual void SetParentFrame (RestFrame &frame=RestFrame::Empty())
 Set the parent frame for this frame. More...
 
virtual GeneratorFrame const & GetParentFrame () const
 Returns the parent of this frame. More...
 
virtual GeneratorFrameGetChildFrame (int i=0) const
 Returns the frame of the i th child. More...
 
void SetPCut (double cut)
 Sets momentum cut. More...
 
void SetPtCut (double cut)
 Sets transverse momentum cut. More...
 
void SetEtaCut (double cut)
 Sets pseudorapidity cut. More...
 
void SetMassWindowCut (double min, double max)
 Sets mass frame cut. More...
 
void RemovePCut ()
 Removes momentum cut.
 
void RemovePtCut ()
 Removes transverse momentum cut.
 
void RemoveEtaCut ()
 Removes pseudorapidity cut.
 
void RemoveMassWindowCut ()
 Removes mass frame cuts.
 
void PrintGeneratorEfficiency () const
 Print generator efficiency information.
 
virtual double GetMass () const
 Get the mass of this frame.
 
Markov Chain MonteCarlo methods

Member functions which are used under the hood to generate events. The user should not need to call this methods

bool IsVariableMassMCMC () const
 Is this frame capable having a variable mass? (true/false)
 
virtual double GetMinimumMassMCMC () const
 Returns minimun mass of Markov Chain MonteCarlo event generation.
 
virtual void GenerateMassMCMC (double &mass, double &prob, double max=-1.) const
 Generates mass for Markov Chain MonteCarlo event generation.
 
virtual double GetProbMCMC (double mass=-1.) const
 Evaluates probability of the state is in right now or the probablility of a state it could go in.
 
double GetRandom () const
 Returns random value. More...
 
double GetGaus (double mu, double sig) const
 Returns gaussian random number. More...
 
- Public Member Functions inherited from RestFrames::RestFrame
 RestFrame (const std::string &sname, const std::string &stitle)
 Standard constructor. More...
 
 RestFrame ()
 Empty constructor.
 
FrameType GetType () const
 Returns RestFrame (FrameType) type.
 
bool IsVisibleFrame () const
 Is this a VisibleFrame ? (yes/no)
 
bool IsInvisibleFrame () const
 Is this an InvisibleFrame ? (yes/no)
 
bool IsDecayFrame () const
 Is this a DecayFrame ? (yes/no)
 
bool IsLabFrame () const
 Is this a LabFrame ? (yes/no)
 
bool IsRecoFrame () const
 Is this an ReconstructionFrame ? (yes/no)
 
bool IsGenFrame () const
 Is this a GeneratorFrame ? (yes/no)
 
virtual std::string PrintString (LogType type) const
 String of information about RestFrame.
 
void AddChildFrames (const RestFrameList &frames)
 Adds a list of children to this frame. More...
 
void RemoveChildFrame (RestFrame &frame)
 Removes a child of this frame. More...
 
void RemoveChildFrames ()
 Removes all the children of this frame. More...
 
int GetNChildren () const
 Returns the number of child frames inheriting from this one.
 
int GetNDescendants () const
 Returns the number of descendents of this frame.
 
RestFrameList const & GetChildFrames () const
 Returns a list of this frame's child RestFrames. More...
 
virtual RestFrame const & GetLabFrame () const
 Returns the LabFrame that this frame inherits from. More...
 
virtual RestFrame const & GetProductionFrame () const
 Returns the production frame of this frame. More...
 
virtual RestFrame const & GetSiblingFrame () const
 Returns the sibling frame of this frame. More...
 
int GetFrameDepth (const RestFrame &frame) const
 Returns the depth of frame More...
 
virtual RestFrame const & GetFrameAtDepth (int depth, const RestFrame &frame) const
 Returns the frame at depth. More...
 
virtual RestFrameList GetListFrames (FrameType type=kLabFrame) const
 Returns a list of frames inheriting from this one. More...
 
virtual RestFrameList GetListVisibleFrames () const
 Returns a list of VisibleFrame s inheriting from this.
 
virtual RestFrameList GetListInvisibleFrames () const
 Returns a list of InvisibleFrame s inheriting from this.
 
RestFrameList operator+ (RestFrame &frame)
 Combines RestFrames into RestFrameList. More...
 
RestFrameList operator+ (const RestFrameList &frames)
 Combines RestFrames into RestFrameList. More...
 
virtual RFCharge GetCharge () const
 Returns the charge of this frame. More...
 
TLorentzVector GetFourVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns this frame's four-vector in a specified frame. More...
 
TLorentzVector GetTransverseFourVector (const RestFrame &frame=RestFrame::Empty(), const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns this frame's four-vector in a specified frame. More...
 
TLorentzVector GetVisibleFourVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns four-vector of visible descendants. More...
 
TLorentzVector GetInvisibleFourVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns four-vector of invisible descendants. More...
 
double GetEnergy (const RestFrame &frame) const
 Returns energy of this frame in specified reference frame. More...
 
double GetMomentum (const RestFrame &frame) const
 Returns magnitude of momentum. More...
 
TLorentzVector GetFourVector (const TLorentzVector &P, const RestFrame &def_frame=RestFrame::Empty()) const
 Returns four vector boosted to different frame. More...
 
TLorentzVector GetTransverseFourVector (const TLorentzVector &P, const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns transverse four vector in this frame.
 
double GetTransverseMomentum (const RestFrame &frame=RestFrame::Empty(), const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns magnitude of transverse momentum. More...
 
double GetTransverseMomentum (const TLorentzVector &P, const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &axis_frame=RestFrame::Empty()) const
 Returns magnitude of transverse momentum of this frame. More...
 
double GetVisibleShape () const
 Returns visible shape of frame. More...
 
double GetSumVisibleMomentum () const
 Returns scalar sum of visible child momenta. More...
 
double GetSumInvisibleMomentum () const
 Returns scalar sum of invisible child momenta. More...
 
TVector3 GetBoostInParentFrame () const
 Returns the boost of this frame in it's parent's frame. More...
 
double GetGammaInParentFrame () const
 Returns the gamma of this frame in its parent's frame. More...
 
TVector3 GetDecayPlaneNormalVector (const RestFrame &frame=RestFrame::Empty()) const
 Returns the vector normal to the decay plane of this frame. More...
 
double GetDeltaPhiDecayPlanes (const RestFrame &frame) const
 Returns difference of azimuthal angle between decay planes. More...
 
double GetCosDecayAngle (const RestFrame &frame=RestFrame::Empty()) const
 Returns the cosine of this frame's decay angle. More...
 
double GetDeltaPhiDecayAngle (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal decay angles in an axis. More...
 
double GetDeltaPhiBoostVisible (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal angles between the decay angles of the visible particles decaying from this frame. More...
 
double GetDeltaPhiDecayVisible (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal angles between the decay angles of the visible particles decaying from this frame. More...
 
double GetDeltaPhiVisible (const TVector3 &axis=RestFrame::GetAxis(), const RestFrame &frame=RestFrame::Empty()) const
 Returns difference of azimuthal angles between the angles of its visible particles kids. More...
 
- Public Member Functions inherited from RestFrames::RFBase
 RFBase (const std::string &sname, const std::string &stitle, int key)
 Standard constructor. More...
 
 RFBase ()
 Empty constructor.
 
bool IsEmpty () const
 Checks whether this is default (empty) instance of class.
 
bool operator! () const
 Tests whether key is the same as this.
 
void Print (LogType type) const
 Print information associated with object.
 
RFKey GetKey () const
 gets object identification key
 
std::string GetName () const
 Returns object name.
 
std::string GetTitle () const
 Returns object title.
 
bool IsSame (const RFKey &key) const
 Tests whether key is the same as this.
 
bool IsSame (const RFBase &obj) const
 Tests whether obj is the same as this.
 
bool operator== (const RFKey &key) const
 Tests whether key is the same as this.
 
bool operator== (const RFBase &obj) const
 Tests whether obj is the same as this.
 
bool operator!= (const RFKey &key) const
 Tests whether key is the same as this.
 
bool operator!= (const RFBase &obj) const
 Tests whether obj is the same as this.
 

Static Public Member Functions

static GeneratorFrameEmpty ()
 Returns empty GeneratorFrame. More...
 
- Static Public Member Functions inherited from RestFrames::RestFrame
static void SetAxis (const TVector3 &axis)
 Set axis perpendicular to transverse plane. More...
 
static TVector3 const & GetAxis ()
 Retrieve axis which defines transverse plane. More...
 
static RestFrameEmpty ()
 Returns empty RestFrame. More...
 
static ConstRestFrameList const & EmptyList ()
 Returns empty RestFrameList. More...
 
- Static Public Member Functions inherited from RestFrames::RFBase
static RFBaseEmpty ()
 Returns empty RFBase. More...
 

Protected Member Functions

bool InitializeAnalysisRecursive ()
 Recursively initialize this frame and its children for analysis.
 
bool AnalyzeEventRecursive ()
 Recursively analyze event in this frame and its children.
 
bool ClearEventRecursive ()
 Recursively clear event information from this frame and its children.
 
virtual void ResetGenFrame ()=0
 
virtual bool GenerateFrame ()=0
 
void SetChildren (const std::vector< TLorentzVector > &P_children)
 
virtual bool InitializeGenAnalysis ()
 
virtual bool IterateMCMC ()
 
bool IterateRecursiveMCMC ()
 
void SetVariableMassMCMC (bool var=true)
 
virtual void SetMassMCMC (double mass)
 
void SetMassMCMC (double mass, GeneratorFrame &frame) const
 
bool EventInAcceptance () const
 
- Protected Member Functions inherited from RestFrames::RestFrame
virtual bool IsSoundBody () const
 
TVector3 const & GetChildBoostVector (RestFrame &frame) const
 
TVector3 const & GetParentBoostVector () const
 
virtual bool InitializeTreeRecursive ()
 Recursively initialize this frame's tree.
 
bool IsCircularTree (std::vector< RFKey > &keys) const
 Check this RestFrame 's tree for circular connections.
 
- Protected Member Functions inherited from RestFrames::RFBase
bool SetBody (bool body) const
 
bool SetMind (bool mind) const
 
bool SetSpirit (bool spirit) const
 
virtual bool IsSoundMind () const
 
virtual bool IsSoundSpirit () const
 
void UnSoundBody (const std::string &function) const
 
void UnSoundMind (const std::string &function) const
 
void UnSoundSpirit (const std::string &function) const
 
void AddDependent (RFBase *dep)
 pointer to RFBase object owned by this one
 

Protected Attributes

double m_Mass
 
- Protected Attributes inherited from RestFrames::RestFrame
FrameType m_Type
 
AnaType m_Ana
 
- Protected Attributes inherited from RestFrames::RFBase
RFLog m_Log
 
RFBasem_This
 

Additional Inherited Members

- Static Protected Attributes inherited from RestFrames::RFBase
static const TVector3 m_Empty3Vector
 
static const TLorentzVector m_Empty4Vector
 

Constructor & Destructor Documentation

◆ GeneratorFrame()

RestFrames::GeneratorFrame::GeneratorFrame ( const std::string &  sname,
const std::string &  stitle 
)

Standard constructor.

Parameters
snameClass instance name used for log statements
stitleClass instance title used in figures

Definition at line 41 of file GeneratorFrame.cc.

Member Function Documentation

◆ AddChildFrame()

void RestFrames::GeneratorFrame::AddChildFrame ( RestFrame frame)
virtual

Adds a child RestFrame to this frame.

Parameters
frameRestFrame to be added as child

Method for adding a RestFrame frame as a child of this frame. Calls RestFrame::AddChildFrame()

Warning
frame will not be added as a child if it is not a GeneratorFrame type frame

Reimplemented from RestFrames::RestFrame.

Definition at line 92 of file GeneratorFrame.cc.

◆ Empty()

GeneratorFrame & RestFrames::GeneratorFrame::Empty ( )
static

Returns empty GeneratorFrame.

Returns empty instance of class.

Returns
Empty GeneratorFrame

Definition at line 84 of file GeneratorFrame.cc.

◆ GetChildFrame()

GeneratorFrame & RestFrames::GeneratorFrame::GetChildFrame ( int  i = 0) const
virtual

Returns the frame of the i th child.

Parameters
iith child
Returns
Frame of the ith child

Reimplemented from RestFrames::RestFrame.

Definition at line 112 of file GeneratorFrame.cc.

◆ GetGaus()

double RestFrames::GeneratorFrame::GetGaus ( double  mu,
double  sig 
) const

Returns gaussian random number.

Parameters
muMean of gaussian
sigSigma of gaussian

Definition at line 197 of file GeneratorFrame.cc.

◆ GetParentFrame()

GeneratorFrame const & RestFrames::GeneratorFrame::GetParentFrame ( ) const
virtual

Returns the parent of this frame.

Returns
The parent frame of this frame
Warning
If the parent frame is not set, an empty frame is returned

Reimplemented from RestFrames::RestFrame.

Definition at line 104 of file GeneratorFrame.cc.

◆ GetRandom()

double RestFrames::GeneratorFrame::GetRandom ( ) const

Returns random value.

Returns
Random value

Definition at line 193 of file GeneratorFrame.cc.

◆ SetEtaCut()

void RestFrames::GeneratorFrame::SetEtaCut ( double  cut)

Sets pseudorapidity cut.

Parameters
cutPseudorapidity cut

Method for setting the pseudorapidity cut of object in the lab frame to be used for the Monte Carlo event generation

Definition at line 372 of file GeneratorFrame.cc.

◆ SetMassWindowCut()

void RestFrames::GeneratorFrame::SetMassWindowCut ( double  min,
double  max 
)

Sets mass frame cut.

Parameters
minMinimum cut
maxMaximum cut

Method to set mass frame cut. Mass must be between min and max if not mass won't be used. If either min or max is less than 0 only an upper cut will be set or only a lower cut will be set respectively

Warning
If both min and max are less than 0. Method won't set cuts

Definition at line 378 of file GeneratorFrame.cc.

◆ SetParentFrame()

void RestFrames::GeneratorFrame::SetParentFrame ( RestFrame frame = RestFrame::Empty())
virtual

Set the parent frame for this frame.

Parameters
frameParent frame

Method for connecting a child frame to its parent frame Empty default sets parent frame to none

Reimplemented from RestFrames::RestFrame.

Definition at line 98 of file GeneratorFrame.cc.

◆ SetPCut()

void RestFrames::GeneratorFrame::SetPCut ( double  cut)

Sets momentum cut.

Parameters
cutMomentum cut

Method for setting the momentum cut of object in the lab frame to be used for the Monte Carlo event generation

Warning
cut must be bigger than 0

Definition at line 358 of file GeneratorFrame.cc.

◆ SetPtCut()

void RestFrames::GeneratorFrame::SetPtCut ( double  cut)

Sets transverse momentum cut.

Parameters
cutTransverse momentum cut

Method for setting the transverse momentum cut of object in the lab frame to be used for the Monte Carlo event generation

Warning
cut won't be set if it isn't bigger than 0

Definition at line 365 of file GeneratorFrame.cc.

Collaboration diagram for RestFrames::GeneratorFrame:
Collaboration graph
[legend]

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