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::CombinatoricJigsaw Class Referenceabstract

Detailed Description

Definition at line 40 of file CombinatoricJigsaw.hh.

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

Public Member Functions

 CombinatoricJigsaw (const std::string &sname, const std::string &stitle, int Ncomb, int Nobject)
 Standard constructor. More...
 
 CombinatoricJigsaw ()
 Empty constructor.
 
virtual void Clear ()
 Clears CombinatoricJigsaw from all connections to other objects.
 
virtual void SetGroup (Group &group=Group::Empty())
 Sets group (Group) to current jigsaw. More...
 
virtual CombinatoricGroupGetGroup () const
 Returns group (Group) associated with this jigsaw. More...
 
virtual void AddCombFrame (const RestFrame &frame, int i=0)
 Adds a frame (RestFrame) to this jigsaw. More...
 
void AddCombFrames (const ConstRestFrameList &frames, int i=0)
 Adds a list of frames (RestFrame) to this jigsaw. More...
 
virtual void AddObjectFrame (const RestFrame &frame, int i=0)
 Adds a frame to this jigsaw. More...
 
void AddObjectFrames (const ConstRestFrameList &frames, int i=0)
 Adds a frame to this jigsaw. More...
 
void SetCombCharge (const RFCharge &charge, int i)
 Sets charge of ith combinatoric frame. More...
 
void SetCombCharge (int charge, int i)
 Sets charge of ith combinatoric frame. More...
 
void SetCombCharge (int charge_num, int charge_den, int i)
 Sets charge of ith combinatoric frame. More...
 
void UnsetCombCharge (int i)
 Unsets charge of the ith combinatoric frame. More...
 
void SetObjectCharge (const RFCharge &charge, int i)
 Sets charge of ith object frame. More...
 
void SetObjectCharge (int charge, int i)
 Sets charge of ith object frame. More...
 
void SetObjectCharge (int charge_num, int charge_den, int i)
 Sets charge of ith object frame. More...
 
void UnsetObjectCharge (int i)
 Unsets charge of the ith object frame. More...
 
void SetTransverse (bool tran=true, const TVector3 &axis=RestFrame::GetAxis())
 Sets transverse momentum. More...
 
- Public Member Functions inherited from RestFrames::Jigsaw
 Jigsaw (const std::string &sname, const std::string &stitle, int Nchild, int Ndependancy)
 Standard constructor. More...
 
 Jigsaw ()
 Empty constructor.
 
JigsawType GetType () const
 Returns jigsaw (JigsawType) type. More...
 
virtual std::string GetLabel () const
 Returns name of this Jigsaw. More...
 
virtual std::string PrintString (LogType type) const
 Prints string of information associated with Jigsaw. More...
 
bool IsInvisibleJigsaw () const
 Is invisible jigsaw? (true/false)
 
bool IsCombinatoricJigsaw () const
 Is combinatoric jigsaw? (true/false)
 
virtual ConstRestFrameList GetParentFrames () const
 Returns list of parent frames associated with this jigsaw. More...
 
virtual ConstRestFrameList const & GetChildFrames (int i) const
 Returns list of child frames associated with this jigsaw. More...
 
virtual ConstRestFrameList const & GetDependancyFrames (int i) const
 Returns list of frames in which this jigsaw depends on. More...
 
void RemoveFrame (const RestFrame &frame)
 Removes a frame from this jigsaw. More...
 
void RemoveFrames (const ConstRestFrameList &frames)
 Removes a list of frames from this jigsaw. 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 CombinatoricJigsawEmpty ()
 Returns empty CombinatoricJigsaw. More...
 
- Static Public Member Functions inherited from RestFrames::Jigsaw
static JigsawEmpty ()
 Returns empty Jigsaw. More...
 
- Static Public Member Functions inherited from RestFrames::RFBase
static RFBaseEmpty ()
 Returns empty RFBase. More...
 

Protected Member Functions

virtual bool IsSoundBody () const
 
CombinatoricStateGetNewChildState ()
 
virtual bool InitializeAnalysis ()
 
virtual bool InitializeCombinatoric ()
 
virtual bool LoopCombinatoric ()
 
virtual bool EvaluateMetric (double &metric) const =0
 
virtual bool AnalyzeEvent ()
 
int GetNInputStates () const
 
VisibleStateGetInputState (int i=0) const
 
int GetNinputForChild (int i=0) const
 
bool IsNinputExclForChild (int i=0) const
 
bool IsChargeSetForChild (int i=0) const
 
RFCharge GetChargeForChild (int i=0) const
 
bool IsChargeSetForObject (int i=0) const
 
RFCharge GetChargeForObject (int i=0) const
 
void SetParentState (State &state=State::Empty())
 
CombinatoricState const & GetParentState () const
 
CombinatoricStateGetChildState (int i) const
 
bool InitializeJigsawExecutionList (JigsawList &exec_jigsaws, JigsawList &todo_jigsaws)
 
bool ExecuteDependancyJigsaws ()
 
bool IsTransverse () const
 
const TVector3 & GetTransverseAxis () const
 
- Protected Member Functions inherited from RestFrames::Jigsaw
bool CanResolve (const State &state) const
 
bool CanResolve (const ConstRestFrameList &frames) const
 
bool DependsOnJigsaw (const Jigsaw &jigsaw) const
 
virtual bool InitializeTree ()
 
virtual bool InitializeDependancyJigsaws ()
 
void AddChildFrame (const RestFrame &frame, int i=0)
 
void AddDependancyFrame (const RestFrame &frame, int i=0)
 
virtual int GetNChildren () const
 
virtual StateList const & GetChildStates () const
 
int GetNDependancyStates () const
 
virtual StateList const & GetDependancyStates (int i) const
 
void SetParentState ()
 
virtual void FillJigsawDependancies (JigsawList &jigsaws) const
 
virtual void FillGroupJigsawDependancies (JigsawList &jigsaws) const
 
virtual void FillGroupJigsawDependants (JigsawList &jigsaws) const
 
- 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

JigsawList m_ExecuteJigsaws
 
- Protected Attributes inherited from RestFrames::Jigsaw
JigsawType m_Type
 
- 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

◆ CombinatoricJigsaw()

RestFrames::CombinatoricJigsaw::CombinatoricJigsaw ( const std::string &  sname,
const std::string &  stitle,
int  Ncomb,
int  Nobject 
)

Standard constructor.

Parameters
snameClass instance name used for log statements
stitleClass instance title used in figures
N_combNumber of subgroups a group of frames will be broken into
N_objectNumber of objects that are going to be evaluated to decide which partition will be used

Definition at line 35 of file CombinatoricJigsaw.cc.

Member Function Documentation

◆ AddCombFrame()

void RestFrames::CombinatoricJigsaw::AddCombFrame ( const RestFrame frame,
int  i = 0 
)
virtual

Adds a frame (RestFrame) to this jigsaw.

Parameters
frameFrame to be added
iIndex where to add frames

Method to add a frame to this jigsaw on a specific position. Default position is 0.

Warning
frame won't be added if i is less than 0 or bigger than the number of combinatoric frames ("NComb")

Definition at line 94 of file CombinatoricJigsaw.cc.

◆ AddCombFrames()

void RestFrames::CombinatoricJigsaw::AddCombFrames ( const ConstRestFrameList frames,
int  i = 0 
)

Adds a list of frames (RestFrame) to this jigsaw.

Parameters
framesFrames to be added
iIndex where to add frames

Method to add a list of frames to this jigsaw on a specific position. Default position is 0.

Warning
frames won't be added if i is less than 0 or bigger than the number of combinatoric frames ("NComb")

Definition at line 104 of file CombinatoricJigsaw.cc.

◆ AddObjectFrame()

void RestFrames::CombinatoricJigsaw::AddObjectFrame ( const RestFrame frame,
int  i = 0 
)
virtual

Adds a frame to this jigsaw.

Parameters
frameFrame to be added
iIndex where to add frames

Method to add a frame to this jigsaw. Mass of frame will be used by this jigsaw to make combinatoric decisions

Warning
frame won't be added if i is less than 0 or bigger than the number of object frames ("Nobject")

Definition at line 110 of file CombinatoricJigsaw.cc.

◆ AddObjectFrames()

void RestFrames::CombinatoricJigsaw::AddObjectFrames ( const ConstRestFrameList frames,
int  i = 0 
)

Adds a frame to this jigsaw.

Parameters
frameFrame to be added
iIndex where to add frames

Method to add a frame to this jigsaw. Mass of frame will be used by this jigsaw to make combinatoric decisions

Warning
frame won't be added if i is less than 0 or bigger than the number of object frames ("Nobject")

Definition at line 121 of file CombinatoricJigsaw.cc.

◆ Empty()

CombinatoricJigsaw & RestFrames::CombinatoricJigsaw::Empty ( )
static

Returns empty CombinatoricJigsaw.

Returns
Empty CombinatoricJigsaw

Definition at line 57 of file CombinatoricJigsaw.cc.

◆ GetGroup()

CombinatoricGroup & RestFrames::CombinatoricJigsaw::GetGroup ( ) const
virtual

Returns group (Group) associated with this jigsaw.

Returns
Group associated with this jigsaw

Reimplemented from RestFrames::Jigsaw.

Definition at line 67 of file CombinatoricJigsaw.cc.

◆ SetCombCharge() [1/3]

void RestFrames::CombinatoricJigsaw::SetCombCharge ( const RFCharge charge,
int  i 
)

Sets charge of ith combinatoric frame.

Parameters
chargeCharge to be set
iith combinatoric frame
Warning
charge won't be set if i is less than 0 or bigger than the number of combinatoric frames ("NComb")

Definition at line 127 of file CombinatoricJigsaw.cc.

◆ SetCombCharge() [2/3]

void RestFrames::CombinatoricJigsaw::SetCombCharge ( int  charge,
int  i 
)

Sets charge of ith combinatoric frame.

Parameters
chargeCharge to be set
iith combinatoric frame
Warning
charge won't be set if i is less than 0 or bigger than the number of combinatoric frames ("NComb")

Definition at line 134 of file CombinatoricJigsaw.cc.

◆ SetCombCharge() [3/3]

void RestFrames::CombinatoricJigsaw::SetCombCharge ( int  charge_num,
int  charge_den,
int  i 
)

Sets charge of ith combinatoric frame.

Parameters
charge_numCharge numerator
charge_denCharge denominator
iith combinatoric frame
Warning
charge won't be set if i is less than 0 or bigger than the number of combinatoric frames ("NComb")

Definition at line 138 of file CombinatoricJigsaw.cc.

◆ SetGroup()

void RestFrames::CombinatoricJigsaw::SetGroup ( Group group = Group::Empty())
virtual

Sets group (Group) to current jigsaw.

Parameters
Groupto be set

Method for setting a group to this jigsaw. Calls Jigsaw::SetGroup()

Warning
group must be a CombinatoricGroup type group, it won't be set otherwise

Reimplemented from RestFrames::Jigsaw.

Definition at line 61 of file CombinatoricJigsaw.cc.

◆ SetObjectCharge() [1/3]

void RestFrames::CombinatoricJigsaw::SetObjectCharge ( const RFCharge charge,
int  i 
)

Sets charge of ith object frame.

Parameters
chargeCharge to be set
iith object frame
Warning
charge won't be set if i is less than 0 or bigger than the number of object frames ("NObj")

Definition at line 147 of file CombinatoricJigsaw.cc.

◆ SetObjectCharge() [2/3]

void RestFrames::CombinatoricJigsaw::SetObjectCharge ( int  charge,
int  i 
)

Sets charge of ith object frame.

Parameters
chargeCharge to be set
iith object frame
Warning
charge won't be set if i is less than 0 or bigger than the number of object frames ("NObj")

Definition at line 154 of file CombinatoricJigsaw.cc.

◆ SetObjectCharge() [3/3]

void RestFrames::CombinatoricJigsaw::SetObjectCharge ( int  charge_num,
int  charge_den,
int  i 
)

Sets charge of ith object frame.

Parameters
charge_numCharge numerator
charge_denCharge denominator
iith object frame
Warning
charge won't be set if i is less than 0 or bigger than the number of object frames ("NObj")

Definition at line 158 of file CombinatoricJigsaw.cc.

◆ SetTransverse()

void RestFrames::CombinatoricJigsaw::SetTransverse ( bool  tran = true,
const TVector3 &  axis = RestFrame::GetAxis() 
)

Sets transverse momentum.

Parameters
tranIf true transverse momentum will be set
axisLongitudinal axis

Definition at line 328 of file CombinatoricJigsaw.cc.

◆ UnsetCombCharge()

void RestFrames::CombinatoricJigsaw::UnsetCombCharge ( int  i)

Unsets charge of the ith combinatoric frame.

Parameters
iith combinatoric frame

Definition at line 142 of file CombinatoricJigsaw.cc.

◆ UnsetObjectCharge()

void RestFrames::CombinatoricJigsaw::UnsetObjectCharge ( int  i)

Unsets charge of the ith object frame.

Parameters
iith object frame

Definition at line 162 of file CombinatoricJigsaw.cc.

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

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