GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TFipps Class Reference

Detailed Description

The TFipps class defines the observables and algorithms used when analyzing FIPPS data. It includes detector positions, add-back methods, etc.

Definition at line 32 of file TFipps.h.

Public Types

enum class  EFippsBits {
  kIsAddbackSet = 1<<0 , kIsCrossTalkSet = 1<<1 , kIsSuppressedSet = 1<<2 , kIsSuppressedAddbackSet = 1<<3 ,
  kBit4 = 1<<4 , kBit5 = 1<<5 , kBit6 = 1<<6 , kBit7 = 1<<7
}
 

Public Member Functions

 TFipps ()
 
 TFipps (const TFipps &)
 
 ~TFipps () override
 
bool AddbackCriterion (const TDetectorHit *hit1, const TDetectorHit *hit2) override
 
void AddFragment (const std::shared_ptr< const TFragment > &, TChannel *) override
 
virtual void AddHit (TDetectorHit *hit)
 
void BuildHits () override
 
void Clear (Option_t *opt="all") override
 
virtual void ClearTransients ()
 
void Copy (TObject &) const override
 
void FixCrossTalk ()
 
std::function< bool(const TDetectorHit *, const TDetectorHit *)> GetAddbackCriterion () const
 
TFippsHitGetAddbackHit (const int &i)
 
Int_t GetAddbackMultiplicity ()
 
TFippsHitGetFippsHit (const Int_t &i)
 
virtual TDetectorHitGetHit (const int &index) const
 
virtual const std::vector< TDetectorHit * > & GetHitVector () const
 
virtual Short_t GetMultiplicity () const
 
UShort_t GetNAddbackFrags (const size_t &idx)
 
TFippsHitGetSuppressedAddbackHit (const int &i)
 
Int_t GetSuppressedAddbackMultiplicity (const TBgo *bgo)
 
TFippsHitGetSuppressedHit (const int &i)
 
Int_t GetSuppressedMultiplicity (const TBgo *bgo)
 
std::function< bool(const TDetectorHit *, const TDetectorHit *)> GetSuppressionCriterion () const
 
std::vector< TDetectorHit * > & Hits ()
 
const std::vector< TDetectorHit * > & Hits () const
 
bool IsAddbackSet () const
 
Bool_t IsCrossTalkSet () const
 
bool IsSuppressed () const
 
bool IsSuppressedAddbackSet () const
 
virtual bool NoHits () const
 
TFippsoperator= (const TFipps &)
 
void Print (Option_t *opt="") const override
 
void Print (std::ostream &out) const override
 
void ResetAddback ()
 
void ResetFlags () const
 
void ResetSuppressed ()
 
void ResetSuppressedAddback ()
 
void SetAddbackCriterion (std::function< bool(const TDetectorHit *, const TDetectorHit *)> criterion)
 
void SetSuppressionCriterion (std::function< bool(const TDetectorHit *, const TDetectorHit *)> criterion)
 
bool SuppressionCriterion (const TDetectorHit *hit, const TDetectorHit *bgoHit) override
 

Static Public Member Functions

static Double_t CTCorrectedEnergy (const TFippsHit *const hit_to_correct, const TFippsHit *const other_hit, Bool_t time_constraint=true)
 
static const char * GetColorFromNumber (int number)
 
static TVector3 GetPosition (int DetNbr, int CryNbr=5, double dist=90.0)
 

Protected Member Functions

template<class T >
void CreateAddback (const std::vector< T * > &hits, std::vector< T * > &addbacks, std::vector< UShort_t > &nofFragments)
 
template<class T >
void CreateSuppressed (const TBgo *bgo, const std::vector< T * > &hits, std::vector< T * > &suppressedHits)
 
template<class T >
void CreateSuppressedAddback (const TBgo *bgo, const std::vector< T * > &hits, std::vector< T * > &addbacks, std::vector< UShort_t > &nofFragments)
 

Private Member Functions

void ClearStatus () const
 
std::vector< UShort_t > & GetAddbackFragVector ()
 
std::vector< TDetectorHit * > & GetAddbackVector ()
 
std::vector< UShort_t > & GetSuppressedAddbackFragVector ()
 
std::vector< TDetectorHit * > & GetSuppressedAddbackVector ()
 
std::vector< TDetectorHit * > & GetSuppressedVector ()
 
void SetAddback (bool flag=true) const
 
void SetBitNumber (EFippsBits bit, Bool_t set) const
 
void SetCrossTalk (bool flag=true) const
 
void SetSuppressed (bool flag=true) const
 
void SetSuppressedAddback (bool flag=true) const
 
Bool_t TestBitNumber (EFippsBits bit) const
 

Private Attributes

std::vector< UShort_t > fAddbackFrags
 
std::vector< TDetectorHit * > fAddbackHits
 
TTransientBits< UChar_t > fFippsBits
 
std::vector< TDetectorHit * > fHits
 
std::vector< UShort_t > fSuppressedAddbackFrags
 
std::vector< TDetectorHit * > fSuppressedAddbackHits
 
std::vector< TDetectorHit * > fSuppressedHits
 

Static Private Attributes

static std::function< bool(const TDetectorHit *, const TDetectorHit *)> fAddbackCriterion = DefaultFippsAddback
 
static std::function< bool(const TDetectorHit *, const TDetectorHit *)> fSuppressionCriterion = DefaultFippsSuppression
 
static TVector3 gCloverPosition [17]
 
+ Inheritance diagram for TFipps:
+ Collaboration diagram for TFipps:

Member Enumeration Documentation

◆ EFippsBits

enum class TFipps::EFippsBits
strong
Enumerator
kIsAddbackSet 
kIsCrossTalkSet 
kIsSuppressedSet 
kIsSuppressedAddbackSet 
kBit4 
kBit5 
kBit6 
kBit7 

Definition at line 34 of file TFipps.h.

Constructor & Destructor Documentation

◆ TFipps() [1/2]

TFipps::TFipps ( )

Definition at line 100 of file TFipps.cxx.

References Clear().

◆ TFipps() [2/2]

TFipps::TFipps ( const TFipps & rhs)

Definition at line 109 of file TFipps.cxx.

References Copy().

◆ ~TFipps()

TFipps::~TFipps ( )
override

Definition at line 135 of file TFipps.cxx.

References fAddbackHits, fSuppressedAddbackHits, and fSuppressedHits.

Member Function Documentation

◆ AddbackCriterion()

bool TFipps::AddbackCriterion ( const TDetectorHit * hit1,
const TDetectorHit * hit2 )
inlineoverridevirtual

Reimplemented from TSuppressed.

Definition at line 69 of file TFipps.h.

References fAddbackCriterion.

◆ AddFragment()

void TFipps::AddFragment ( const std::shared_ptr< const TFragment > & frag,
TChannel * chan )
overridevirtual

!

Reimplemented from TDetector.

Definition at line 409 of file TFipps.cxx.

References TDetector::fHits, TChannel::GetMnemonic(), TMnemonic::kG, and TMnemonic::SubSystem().

◆ AddHit()

◆ BuildHits()

void TFipps::BuildHits ( )
inlineoverridevirtual

!

Reimplemented from TDetector.

Definition at line 57 of file TFipps.h.

◆ Clear()

void TFipps::Clear ( Option_t * opt = "all")
override

◆ ClearStatus()

void TFipps::ClearStatus ( ) const
inlineprivate

!

Definition at line 119 of file TFipps.h.

References fFippsBits.

Referenced by Clear().

◆ ClearTransients()

void TDetector::ClearTransients ( )
virtualinherited

!

Reimplemented in TGriffin, TS3, TTigress, and TTrific.

Definition at line 54 of file TDetector.cxx.

References TDetector::fHits.

Referenced by TGriffin::ClearTransients(), TTigress::ClearTransients(), and TTrific::ClearTransients().

◆ Copy()

void TFipps::Copy ( TObject & rhs) const
override

◆ CreateAddback()

template<class T >
void TSuppressed::CreateAddback ( const std::vector< T * > & hits,
std::vector< T * > & addbacks,
std::vector< UShort_t > & nofFragments )
inlineprotectedinherited

This funxtion always(!) re-creates the vectors of addback hits and number of fragments per addback hit based on the provided vector of hits

Because the functions to return hit vectors etc. are almost always returning vectors of TDetectorHits, T is most likely TDetectorHit. This means we can't use T directly to create a new hit, we need to use TClass::New().

Definition at line 38 of file TSuppressed.h.

References TSuppressed::AddbackCriterion(), TDetectorHit::kIsEnergySet, and TDetectorHit::kIsTimeSet.

Referenced by GetAddbackMultiplicity(), TGriffin::GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TTdrClover::GetAddbackMultiplicity(), and TTdrTigress::GetAddbackMultiplicity().

◆ CreateSuppressed()

template<class T >
void TSuppressed::CreateSuppressed ( const TBgo * bgo,
const std::vector< T * > & hits,
std::vector< T * > & suppressedHits )
inlineprotectedinherited

This function always(!) re-creates the vector of suppressed hits based on the provided TBgo and vector of hits

Because the functions to return hit vectors etc. are almost always returning vectors of TDetectorHits, T is most likely TDetectorHit. This means we can't use T directly to create a new hit, we need to use TClass::New().

Definition at line 69 of file TSuppressed.h.

References TDetector::GetHitVector(), and TSuppressed::SuppressionCriterion().

Referenced by GetSuppressedMultiplicity(), TFippsLaBr::GetSuppressedMultiplicity(), TGriffin::GetSuppressedMultiplicity(), TIfin::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), and TTdrTigress::GetSuppressedMultiplicity().

◆ CreateSuppressedAddback()

template<class T >
void TSuppressed::CreateSuppressedAddback ( const TBgo * bgo,
const std::vector< T * > & hits,
std::vector< T * > & addbacks,
std::vector< UShort_t > & nofFragments )
inlineprotectedinherited

This funxtion always(!) re-creates the vectors of suppressed addback hits and number of fragments per suppressed addback hit based on the provided TBgo and vector of hits

Because the functions to return hit vectors etc. are almost always returning vectors of TDetectorHits, T is most likely TDetectorHit. This means we can't use T directly to create a new hit, we need to use TClass::New().

Definition at line 94 of file TSuppressed.h.

References TSuppressed::AddbackCriterion(), TDetector::GetHitVector(), TDetectorHit::kIsEnergySet, TDetectorHit::kIsTimeSet, and TSuppressed::SuppressionCriterion().

Referenced by GetSuppressedAddbackMultiplicity(), TGriffin::GetSuppressedAddbackMultiplicity(), TIfin::GetSuppressedAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), and TTdrTigress::GetSuppressedAddbackMultiplicity().

◆ CTCorrectedEnergy()

Double_t TFipps::CTCorrectedEnergy ( const TFippsHit *const hit_to_correct,
const TFippsHit *const other_hit,
Bool_t time_constraint = true )
static

Corrects the energy of the hit to correct by ADDING the uncorrected energy of the other hit times the parameter for this combination This is different to the very similar TGriffin function that SUBTRACTS instead of ADDING. If time_constraint is true it also checks that the two hits are within the addback window to each other.

Definition at line 521 of file TFipps.cxx.

References TAnalysisOptions::AddbackWindow(), TGRSIOptions::AnalysisOptions(), DRED, TDetectorHit::GetChannel(), TDetectorHit::GetCrystal(), TChannel::GetCTCoeff(), TDetectorHit::GetDetector(), TDetectorHit::GetEnergy(), TFippsHit::GetNoCTEnergy(), TDetectorHit::GetTime(), and RESET_COLOR.

Referenced by FixCrossTalk().

◆ FixCrossTalk()

◆ GetAddbackCriterion()

std::function< bool(const TDetectorHit *, const TDetectorHit *)> TFipps::GetAddbackCriterion ( ) const
inline

Definition at line 67 of file TFipps.h.

References fAddbackCriterion.

◆ GetAddbackFragVector()

std::vector< UShort_t > & TFipps::GetAddbackFragVector ( )
private

!

Definition at line 195 of file TFipps.cxx.

References fAddbackFrags.

Referenced by GetAddbackMultiplicity(), GetNAddbackFrags(), and ResetAddback().

◆ GetAddbackHit()

TFippsHit * TFipps::GetAddbackHit ( const int & i)

Definition at line 377 of file TFipps.cxx.

References FixCrossTalk(), GetAddbackVector(), and IsCrossTalkSet().

◆ GetAddbackMultiplicity()

◆ GetAddbackVector()

std::vector< TDetectorHit * > & TFipps::GetAddbackVector ( )
private

!

Definition at line 190 of file TFipps.cxx.

References fAddbackHits.

Referenced by GetAddbackHit(), GetAddbackMultiplicity(), and ResetAddback().

◆ GetColorFromNumber()

const char * TFipps::GetColorFromNumber ( int number)
static

Definition at line 586 of file TFipps.cxx.

Referenced by main().

◆ GetFippsHit()

TFippsHit * TFipps::GetFippsHit ( const Int_t & i)

Definition at line 255 of file TFipps.cxx.

References TDetector::fHits, FixCrossTalk(), and IsCrossTalkSet().

◆ GetHit()

◆ GetHitVector()

◆ GetMultiplicity()

◆ GetNAddbackFrags()

UShort_t TFipps::GetNAddbackFrags ( const size_t & idx)

Definition at line 504 of file TFipps.cxx.

References GetAddbackFragVector().

◆ GetPosition()

TVector3 TFipps::GetPosition ( int DetNbr,
int CryNbr = 5,
double dist = 90.0 )
static

!

Definition at line 430 of file TFipps.cxx.

References gCloverPosition.

Referenced by TFippsHit::GetPosition().

◆ GetSuppressedAddbackFragVector()

std::vector< UShort_t > & TFipps::GetSuppressedAddbackFragVector ( )
private

Definition at line 210 of file TFipps.cxx.

References fSuppressedAddbackFrags.

Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().

◆ GetSuppressedAddbackHit()

TFippsHit * TFipps::GetSuppressedAddbackHit ( const int & i)

Definition at line 393 of file TFipps.cxx.

References FixCrossTalk(), GetSuppressedAddbackVector(), and IsCrossTalkSet().

◆ GetSuppressedAddbackMultiplicity()

◆ GetSuppressedAddbackVector()

std::vector< TDetectorHit * > & TFipps::GetSuppressedAddbackVector ( )
private

◆ GetSuppressedHit()

TFippsHit * TFipps::GetSuppressedHit ( const int & i)

Definition at line 271 of file TFipps.cxx.

References FixCrossTalk(), fSuppressedHits, and IsCrossTalkSet().

◆ GetSuppressedMultiplicity()

Int_t TFipps::GetSuppressedMultiplicity ( const TBgo * bgo)

Automatically builds the suppressed hits using the fSuppressionCriterion and returns the number of suppressed hits

Definition at line 287 of file TFipps.cxx.

References TSuppressed::CreateSuppressed(), FixCrossTalk(), TDetector::GetHitVector(), GetSuppressedVector(), IsCrossTalkSet(), IsSuppressed(), and SetSuppressed().

◆ GetSuppressedVector()

std::vector< TDetectorHit * > & TFipps::GetSuppressedVector ( )
private

Definition at line 200 of file TFipps.cxx.

References fSuppressedHits.

Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().

◆ GetSuppressionCriterion()

std::function< bool(const TDetectorHit *, const TDetectorHit *)> TFipps::GetSuppressionCriterion ( ) const
inline

Definition at line 89 of file TFipps.h.

References fSuppressionCriterion.

◆ Hits() [1/2]

◆ Hits() [2/2]

const std::vector< TDetectorHit * > & TDetector::Hits ( ) const
inlineinherited

Definition at line 79 of file TDetector.h.

References TDetector::fHits.

◆ IsAddbackSet()

bool TFipps::IsAddbackSet ( ) const

Definition at line 215 of file TFipps.cxx.

References kIsAddbackSet, and TestBitNumber().

Referenced by GetAddbackMultiplicity(), and Print().

◆ IsCrossTalkSet()

◆ IsSuppressed()

bool TFipps::IsSuppressed ( ) const

Definition at line 225 of file TFipps.cxx.

References kIsSuppressedSet, and TestBitNumber().

Referenced by GetSuppressedMultiplicity().

◆ IsSuppressedAddbackSet()

bool TFipps::IsSuppressedAddbackSet ( ) const

Definition at line 230 of file TFipps.cxx.

References kIsSuppressedAddbackSet, and TestBitNumber().

Referenced by GetSuppressedAddbackMultiplicity().

◆ NoHits()

virtual bool TDetector::NoHits ( ) const
inlinevirtualinherited

◆ operator=()

TFipps & TFipps::operator= ( const TFipps & rhs)

!

Definition at line 183 of file TFipps.cxx.

References Copy().

◆ Print() [1/2]

void TFipps::Print ( Option_t * opt = "") const
override

!

Definition at line 162 of file TFipps.cxx.

References Print().

Referenced by Print().

◆ Print() [2/2]

void TFipps::Print ( std::ostream & out) const
overridevirtual

Reimplemented from TDetector.

Definition at line 167 of file TFipps.cxx.

References fAddbackHits, TDetector::GetMultiplicity(), IsAddbackSet(), and IsCrossTalkSet().

◆ ResetAddback()

void TFipps::ResetAddback ( )

Definition at line 473 of file TFipps.cxx.

References GetAddbackFragVector(), GetAddbackVector(), SetAddback(), and SetCrossTalk().

◆ ResetFlags()

void TFipps::ResetFlags ( ) const

Definition at line 468 of file TFipps.cxx.

References fFippsBits.

◆ ResetSuppressed()

void TFipps::ResetSuppressed ( )

Definition at line 484 of file TFipps.cxx.

References GetSuppressedVector(), and SetSuppressed().

◆ ResetSuppressedAddback()

void TFipps::ResetSuppressedAddback ( )

◆ SetAddback()

void TFipps::SetAddback ( bool flag = true) const
private

Definition at line 235 of file TFipps.cxx.

References kIsAddbackSet, and SetBitNumber().

Referenced by GetAddbackMultiplicity(), and ResetAddback().

◆ SetAddbackCriterion()

void TFipps::SetAddbackCriterion ( std::function< bool(const TDetectorHit *, const TDetectorHit *)> criterion)
inline

Definition at line 63 of file TFipps.h.

References fAddbackCriterion.

◆ SetBitNumber()

void TFipps::SetBitNumber ( EFippsBits bit,
Bool_t set ) const
private

◆ SetCrossTalk()

void TFipps::SetCrossTalk ( bool flag = true) const
private

Definition at line 240 of file TFipps.cxx.

References kIsCrossTalkSet, and SetBitNumber().

Referenced by FixCrossTalk(), ResetAddback(), and ResetSuppressedAddback().

◆ SetSuppressed()

void TFipps::SetSuppressed ( bool flag = true) const
private

Definition at line 245 of file TFipps.cxx.

References kIsSuppressedSet, and SetBitNumber().

Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().

◆ SetSuppressedAddback()

void TFipps::SetSuppressedAddback ( bool flag = true) const
private

Definition at line 250 of file TFipps.cxx.

References kIsSuppressedAddbackSet, and SetBitNumber().

Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().

◆ SetSuppressionCriterion()

void TFipps::SetSuppressionCriterion ( std::function< bool(const TDetectorHit *, const TDetectorHit *)> criterion)
inline

Definition at line 85 of file TFipps.h.

References fSuppressionCriterion.

◆ SuppressionCriterion()

bool TFipps::SuppressionCriterion ( const TDetectorHit * hit,
const TDetectorHit * bgoHit )
inlineoverridevirtual

Reimplemented from TSuppressed.

Definition at line 91 of file TFipps.h.

References fSuppressionCriterion.

◆ TestBitNumber()

Bool_t TFipps::TestBitNumber ( EFippsBits bit) const
inlineprivate

Member Data Documentation

◆ fAddbackCriterion

std::function< bool(const TDetectorHit *, const TDetectorHit *)> TFipps::fAddbackCriterion = DefaultFippsAddback
staticprivate

Definition at line 100 of file TFipps.h.

Referenced by AddbackCriterion(), GetAddbackCriterion(), and SetAddbackCriterion().

◆ fAddbackFrags

std::vector<UShort_t> TFipps::fAddbackFrags
mutableprivate

! Number of crystals involved in creating the addback hit

Definition at line 109 of file TFipps.h.

Referenced by Clear(), Copy(), and GetAddbackFragVector().

◆ fAddbackHits

std::vector<TDetectorHit*> TFipps::fAddbackHits
mutableprivate

! Used to create addback hits on the fly

Definition at line 108 of file TFipps.h.

Referenced by ~TFipps(), Clear(), Copy(), GetAddbackVector(), and Print().

◆ fFippsBits

TTransientBits<UChar_t> TFipps::fFippsBits
mutableprivate

Definition at line 106 of file TFipps.h.

Referenced by ClearStatus(), Copy(), ResetFlags(), SetBitNumber(), and TestBitNumber().

◆ fHits

◆ fSuppressedAddbackFrags

std::vector<UShort_t> TFipps::fSuppressedAddbackFrags
mutableprivate

! Number of crystals involved in creating the suppressed addback hit

Definition at line 112 of file TFipps.h.

Referenced by Clear(), Copy(), and GetSuppressedAddbackFragVector().

◆ fSuppressedAddbackHits

std::vector<TDetectorHit*> TFipps::fSuppressedAddbackHits
mutableprivate

! Used to create suppressed addback hits on the fly

Definition at line 111 of file TFipps.h.

Referenced by ~TFipps(), Clear(), Copy(), and GetSuppressedAddbackVector().

◆ fSuppressedHits

std::vector<TDetectorHit*> TFipps::fSuppressedHits
mutableprivate

! Used to create suppressed hits on the fly

Definition at line 110 of file TFipps.h.

Referenced by ~TFipps(), Clear(), Copy(), GetSuppressedHit(), and GetSuppressedVector().

◆ fSuppressionCriterion

std::function< bool(const TDetectorHit *, const TDetectorHit *)> TFipps::fSuppressionCriterion = DefaultFippsSuppression
staticprivate

◆ gCloverPosition

TVector3 TFipps::gCloverPosition
staticprivate

! Position of each HPGe Clover

Definition at line 43 of file TFipps.h.

Referenced by GetPosition().