GRSISort
Created by P.C. Bender
Developement Team: P.C. Bender, R. Dunlop, V. Bildstein
An extension of the ROOT analysis Framework
TFipps Class Reference

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  EFippsBits {
  EFippsBits::kIsAddbackSet = 1<<0, EFippsBits::kIsCrossTalkSet = 1<<1, EFippsBits::kIsSuppressedSet = 1<<2, EFippsBits::kIsSuppressedAddbackSet = 1<<3,
  EFippsBits::kBit4 = 1<<4, EFippsBits::kBit5 = 1<<5, EFippsBits::kBit6 = 1<<6, EFippsBits::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 BuildHits ()
 
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 &) 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
 
bool IsAddbackSet () const
 
Bool_t IsCrossTalkSet () const
 
bool IsSuppressed () const
 
bool IsSuppressedAddbackSet () 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)
 

Protected Attributes

std::vector< TDetectorHit * > fHits
 

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< 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]
 

#include <TFipps.h>

+ Inheritance diagram for TFipps:
+ Collaboration diagram for TFipps:

Member Enumeration Documentation

◆ EFippsBits

enum 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 131 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 68 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 399 of file TFipps.cxx.

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

◆ BuildHits()

virtual void TDetector::BuildHits ( )
inlinevirtualinherited

◆ Clear()

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

◆ ClearStatus()

void TFipps::ClearStatus ( ) const
inlineprivate

!

Definition at line 118 of file TFipps.h.

References fFippsBits.

Referenced by Clear().

◆ ClearTransients()

void TDetector::ClearTransients ( )
virtualinherited

!

Reimplemented in TS3, TTigress, TTrific, and TGriffin.

Definition at line 63 of file TDetector.cxx.

References TDetector::fHits.

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

◆ Copy()

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

!

Reimplemented from TDetector.

Definition at line 118 of file TFipps.cxx.

References TSuppressed::Copy(), fAddbackFrags, fAddbackHits, fFippsBits, fSuppressedAddbackFrags, fSuppressedAddbackHits, and fSuppressedHits.

Referenced by operator=(), and TFipps().

◆ 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 34 of file TSuppressed.h.

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

Referenced by TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), and TGriffin::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 65 of file TSuppressed.h.

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

Referenced by TFippsLaBr::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TIfin::GetSuppressedMultiplicity(), GetSuppressedMultiplicity(), and TGriffin::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 90 of file TSuppressed.h.

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

Referenced by TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), GetSuppressedAddbackMultiplicity(), TIfin::GetSuppressedAddbackMultiplicity(), and TGriffin::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 503 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 66 of file TFipps.h.

References fAddbackCriterion.

◆ GetAddbackFragVector()

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

!

Definition at line 193 of file TFipps.cxx.

References fAddbackFrags.

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

◆ GetAddbackHit()

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

Definition at line 367 of file TFipps.cxx.

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

◆ GetAddbackMultiplicity()

◆ GetAddbackVector()

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

!

Definition at line 188 of file TFipps.cxx.

References fAddbackHits.

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

◆ GetColorFromNumber()

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

Definition at line 568 of file TFipps.cxx.

Referenced by main().

◆ GetFippsHit()

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

Definition at line 253 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 486 of file TFipps.cxx.

References GetAddbackFragVector().

◆ GetPosition()

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

!

Definition at line 420 of file TFipps.cxx.

References gCloverPosition.

Referenced by TFippsHit::GetPosition().

◆ GetSuppressedAddbackFragVector()

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

Definition at line 208 of file TFipps.cxx.

References fSuppressedAddbackFrags.

Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().

◆ GetSuppressedAddbackHit()

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

Definition at line 383 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 269 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 285 of file TFipps.cxx.

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

◆ GetSuppressedVector()

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

◆ GetSuppressionCriterion()

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

Definition at line 88 of file TFipps.h.

References fSuppressionCriterion.

◆ IsAddbackSet()

bool TFipps::IsAddbackSet ( ) const

Definition at line 213 of file TFipps.cxx.

References kIsAddbackSet, and TestBitNumber().

Referenced by GetAddbackMultiplicity(), GetSuppressedAddbackMultiplicity(), and Print().

◆ IsCrossTalkSet()

◆ IsSuppressed()

bool TFipps::IsSuppressed ( ) const

Definition at line 223 of file TFipps.cxx.

References kIsSuppressedSet, and TestBitNumber().

Referenced by GetSuppressedMultiplicity().

◆ IsSuppressedAddbackSet()

bool TFipps::IsSuppressedAddbackSet ( ) const

Definition at line 228 of file TFipps.cxx.

References kIsSuppressedAddbackSet, and TestBitNumber().

◆ operator=()

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

!

Definition at line 181 of file TFipps.cxx.

References Copy().

◆ Print() [1/2]

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

!

Definition at line 160 of file TFipps.cxx.

◆ Print() [2/2]

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

Reimplemented from TDetector.

Definition at line 165 of file TFipps.cxx.

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

◆ ResetAddback()

void TFipps::ResetAddback ( )

Definition at line 463 of file TFipps.cxx.

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

◆ ResetFlags()

void TFipps::ResetFlags ( ) const

Definition at line 458 of file TFipps.cxx.

References fFippsBits.

◆ ResetSuppressed()

void TFipps::ResetSuppressed ( )

Definition at line 471 of file TFipps.cxx.

References GetSuppressedVector(), and SetSuppressed().

◆ ResetSuppressedAddback()

void TFipps::ResetSuppressedAddback ( )

◆ SetAddback()

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

Definition at line 233 of file TFipps.cxx.

References kIsAddbackSet, and SetBitNumber().

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

◆ SetAddbackCriterion()

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

Definition at line 62 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 238 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 243 of file TFipps.cxx.

References kIsSuppressedSet, and SetBitNumber().

Referenced by GetSuppressedMultiplicity(), ResetSuppressed(), and ResetSuppressedAddback().

◆ SetSuppressedAddback()

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

Definition at line 248 of file TFipps.cxx.

References kIsSuppressedAddbackSet, and SetBitNumber().

Referenced by GetSuppressedAddbackMultiplicity().

◆ SetSuppressionCriterion()

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

Definition at line 84 of file TFipps.h.

References fSuppressionCriterion.

◆ SuppressionCriterion()

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

Reimplemented from TSuppressed.

Definition at line 90 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 99 of file TFipps.h.

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

◆ fAddbackFrags

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

! Number of crystals involved in creating in the addback hit

Definition at line 108 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 107 of file TFipps.h.

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

◆ fFippsBits

TTransientBits<UChar_t> TFipps::fFippsBits
mutableprivate

Definition at line 105 of file TFipps.h.

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

◆ fHits

std::vector<TDetectorHit*> TDetector::fHits
protectedinherited

Definition at line 72 of file TDetector.h.

Referenced by TSiLi::AddCluster(), TEaglePulser::AddFragment(), TGenericDetector::AddFragment(), TFippsPulser::AddFragment(), TPaces::AddFragment(), TTdrSiLi::AddFragment(), TBgo::AddFragment(), TSiLi::AddFragment(), TTip::AddFragment(), TSceptar::AddFragment(), TTdrPlastic::AddFragment(), TTAC::AddFragment(), TFippsTAC::AddFragment(), TEagle::AddFragment(), TZeroDegree::AddFragment(), TDescant::AddFragment(), TTdrClover::AddFragment(), TTdrTigress::AddFragment(), AddFragment(), TIfin::AddFragment(), TTrific::AddFragment(), TLaBr::AddFragment(), TFippsLaBr::AddFragment(), TTigress::AddFragment(), TEmma::BuildHits(), TCSM::BuildHits(), TSharc::BuildHits(), TTigress::BuildHits(), TSharc::Clear(), TDetector::Clear(), TEmma::Clear(), TTrific::Clear(), TDetector::ClearTransients(), TDetector::Copy(), TSiLi::GetAddbackMultiplicity(), TTigress::GetAddbackMultiplicity(), GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), TIfin::GetIfinHit(), TDetector::GetMultiplicity(), TTrific::GetMultiplicity(), TSharc::GetSize(), TFippsLaBr::GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TSiLi::Print(), TTdrSiLi::Print(), TTAC::Print(), TFippsTAC::Print(), TPaces::Print(), TTip::Print(), TZeroDegree::Print(), TSceptar::Print(), TTdrPlastic::Print(), TEagle::Print(), TDetector::Print(), TDescant::Print(), TEmma::Print(), TLaBr::Print(), TFippsLaBr::Print(), TTrific::Print(), TTigress::Print(), TSiLi::UseFitCharge(), and TDetector::~TDetector().

◆ fSuppressedAddbackFrags

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

Definition at line 111 of file TFipps.h.

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

◆ fSuppressedAddbackHits

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

Definition at line 110 of file TFipps.h.

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

◆ fSuppressedHits

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

Definition at line 109 of file TFipps.h.

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

◆ 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 117 of file TFipps.h.

Referenced by GetPosition().