![]() |
GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
![]() |
The TIfin class defines the observables and algorithms used when analyzing IFIN data. It includes detector positions, add-back methods, etc.
Public Types | |
enum class | EIfinBits { 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 | |
TIfin () | |
TIfin (const TIfin &) | |
~TIfin () 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 |
TIfinHit * | GetAddbackHit (const int &i) |
Int_t | GetAddbackMultiplicity () |
virtual TDetectorHit * | GetHit (const int &index) const |
virtual const std::vector< TDetectorHit * > & | GetHitVector () const |
TIfinHit * | GetIfinHit (const Int_t &i) |
virtual Short_t | GetMultiplicity () const |
UShort_t | GetNAddbackFrags (const size_t &idx) |
TIfinHit * | GetSuppressedAddbackHit (const int &i) |
Int_t | GetSuppressedAddbackMultiplicity (const TBgo *bgo) |
TIfinHit * | GetSuppressedHit (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 |
TIfin & | operator= (const TIfin &) |
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 TIfinHit *const hit_to_correct, const TIfinHit *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) |
Static Public Attributes | |
static const Double_t | gCrossTalkPar [2][4][4] |
static const Double_t | gStrongCT [2] = {-0.02674, -0.000977} |
static const Double_t | gWeakCT [2] = {0.005663, -0.00028014} |
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 (EIfinBits 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 (EIfinBits bit) const |
Private Attributes | |
std::vector< UShort_t > | fAddbackFrags |
std::vector< TDetectorHit * > | fAddbackHits |
std::vector< TDetectorHit * > | fHits |
TTransientBits< UChar_t > | fIfinBits |
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 = DefaultIfinAddback |
static std::function< bool(const TDetectorHit *, const TDetectorHit *)> | fSuppressionCriterion = DefaultIfinSuppression |
static TVector3 | gCloverPosition [17] |
|
strong |
|
override |
Definition at line 147 of file TIfin.cxx.
References fAddbackHits, fSuppressedAddbackHits, and fSuppressedHits.
|
inlineoverridevirtual |
Reimplemented from TSuppressed.
Definition at line 69 of file TIfin.h.
References fAddbackCriterion.
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 423 of file TIfin.cxx.
References TDetector::fHits, TChannel::GetMnemonic(), TMnemonic::kG, and TMnemonic::SubSystem().
|
inlinevirtualinherited |
Definition at line 63 of file TDetector.h.
References TDetector::fHits.
Referenced by TAries::AddFragment(), TBgo::AddFragment(), TDescant::AddFragment(), TGenericDetector::AddFragment(), TLaBr::AddFragment(), TPaces::AddFragment(), TSceptar::AddFragment(), TSiLi::AddFragment(), TTAC::AddFragment(), TTigress::AddFragment(), TTip::AddFragment(), TTrific::AddFragment(), TZeroDegree::AddFragment(), TEmma::BuildHits(), TSharc2::BuildHits(), and TSharc::BuildHits().
|
inlineoverridevirtual |
|
override |
!
Definition at line 158 of file TIfin.cxx.
References TSuppressed::Clear(), ClearStatus(), fAddbackFrags, fAddbackHits, fSuppressedAddbackFrags, fSuppressedAddbackHits, and fSuppressedHits.
Referenced by TIfin().
|
inlineprivate |
|
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().
|
override |
!
Definition at line 130 of file TIfin.cxx.
References TSuppressed::Copy(), fAddbackFrags, fAddbackHits, fIfinBits, fSuppressedAddbackFrags, fSuppressedAddbackHits, and fSuppressedHits.
Referenced by TIfin(), and operator=().
|
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 TFipps::GetAddbackMultiplicity(), TGriffin::GetAddbackMultiplicity(), GetAddbackMultiplicity(), TTdrClover::GetAddbackMultiplicity(), and TTdrTigress::GetAddbackMultiplicity().
|
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 TFipps::GetSuppressedMultiplicity(), TFippsLaBr::GetSuppressedMultiplicity(), TGriffin::GetSuppressedMultiplicity(), GetSuppressedMultiplicity(), TLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), and TTdrTigress::GetSuppressedMultiplicity().
|
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 TFipps::GetSuppressedAddbackMultiplicity(), TGriffin::GetSuppressedAddbackMultiplicity(), GetSuppressedAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), and TTdrTigress::GetSuppressedAddbackMultiplicity().
|
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 534 of file TIfin.cxx.
References TAnalysisOptions::AddbackWindow(), TGRSIOptions::AnalysisOptions(), DRED, TDetectorHit::GetChannel(), TDetectorHit::GetCrystal(), TChannel::GetCTCoeff(), TDetectorHit::GetDetector(), TDetectorHit::GetEnergy(), TIfinHit::GetNoCTEnergy(), and TDetectorHit::GetTime().
Referenced by FixCrossTalk().
void TIfin::FixCrossTalk | ( | ) |
Definition at line 575 of file TIfin.cxx.
References TGRSIOptions::AnalysisOptions(), CTCorrectedEnergy(), TDetector::GetHitVector(), and SetCrossTalk().
Referenced by GetAddbackHit(), GetAddbackMultiplicity(), GetIfinHit(), GetSuppressedAddbackHit(), GetSuppressedAddbackMultiplicity(), GetSuppressedHit(), and GetSuppressedMultiplicity().
|
inline |
Definition at line 67 of file TIfin.h.
References fAddbackCriterion.
|
private |
!
Definition at line 208 of file TIfin.cxx.
References fAddbackFrags.
Referenced by GetAddbackMultiplicity(), GetNAddbackFrags(), and ResetAddback().
TIfinHit * TIfin::GetAddbackHit | ( | const int & | i | ) |
Definition at line 391 of file TIfin.cxx.
References FixCrossTalk(), GetAddbackVector(), and IsCrossTalkSet().
Int_t TIfin::GetAddbackMultiplicity | ( | ) |
Definition at line 328 of file TIfin.cxx.
References TSuppressed::CreateAddback(), FixCrossTalk(), GetAddbackFragVector(), GetAddbackVector(), TDetector::GetHitVector(), IsAddbackSet(), IsCrossTalkSet(), and SetAddback().
|
private |
!
Definition at line 203 of file TIfin.cxx.
References fAddbackHits.
Referenced by GetAddbackHit(), GetAddbackMultiplicity(), and ResetAddback().
|
static |
|
virtualinherited |
Reimplemented in TGriffin.
Definition at line 61 of file TDetector.cxx.
References TDetector::fHits.
Referenced by TSiLi::AddCluster(), TTigress::GetAddbackMultiplicity(), TAries::GetAriesHit(), TBgo::GetBgoHit(), TCSM::GetCSMHit(), TDescant::GetDescantHit(), TEagle::GetEagleHit(), TEmma::GetEmmaHit(), TGenericDetector::GetGenericDetectorHit(), TLaBrBgo::GetLaBrBgoHit(), TFippsLaBr::GetLaBrHit(), TLaBr::GetLaBrHit(), TPaces::GetPacesHit(), TS3::GetS3Hit(), TSceptar::GetSceptarHit(), TSharc2::GetSharc2Hit(), TSharc::GetSharcHit(), TSiLi::GetSiLiHit(), TFippsTAC::GetTACHit(), TTAC::GetTACHit(), TTdrClover::GetTdrCloverHit(), TTdrPlastic::GetTdrPlasticHit(), TTdrSiLi::GetTdrSiLiHit(), TTdrTigress::GetTdrTigressHit(), TTigress::GetTigressHit(), TTip::GetTipHit(), TTrific::GetTrificHit(), TZeroDegree::GetZeroDegreeHit(), MakeAnalysisHistograms(), and TTigress::Print().
|
inlinevirtualinherited |
Reimplemented in TGriffin.
Definition at line 75 of file TDetector.h.
References TDetector::fHits.
Referenced by TSuppressed::CreateSuppressed(), TSuppressed::CreateSuppressedAddback(), TFipps::FixCrossTalk(), FixCrossTalk(), TFipps::GetAddbackMultiplicity(), GetAddbackMultiplicity(), TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), TFipps::GetSuppressedAddbackMultiplicity(), GetSuppressedAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), TFipps::GetSuppressedMultiplicity(), and GetSuppressedMultiplicity().
TIfinHit * TIfin::GetIfinHit | ( | const Int_t & | i | ) |
Definition at line 268 of file TIfin.cxx.
References TDetector::fHits, FixCrossTalk(), and IsCrossTalkSet().
|
inlinevirtualinherited |
Reimplemented in TGriffin.
Definition at line 73 of file TDetector.h.
References TDetector::fHits.
Referenced by TTigress::AddFragment(), ExampleEventHelper::Exec(), ExampleTreeHelper::Exec(), TimeWalkHelper::Exec(), AngularCorrelationSelector::FillHistograms(), ExampleEventSelector::FillHistograms(), ExampleTreeSelector::FillHistograms(), TimeWalkSelector::FillHistograms(), TSiLi::GetAddbackMultiplicity(), TTigress::GetAddbackMultiplicity(), TGriffin::GetLowGainMultiplicity(), TGriffin::GetMultiplicity(), TSharc::GetSize(), main(), MakeAnalysisHistograms(), TAries::Print(), TBgo::Print(), TDescant::Print(), TEmma::Print(), TFipps::Print(), Print(), TLaBr::Print(), TPaces::Print(), TSceptar::Print(), TSiLi::Print(), TTAC::Print(), TTdrClover::Print(), TTdrTigress::Print(), TTigress::Print(), TTip::Print(), TTrific::Print(), and TZeroDegree::Print().
UShort_t TIfin::GetNAddbackFrags | ( | const size_t & | idx | ) |
Definition at line 518 of file TIfin.cxx.
References GetAddbackFragVector().
|
static |
!
Definition at line 444 of file TIfin.cxx.
References gCloverPosition.
Referenced by TIfinHit::GetPosition().
|
private |
Definition at line 223 of file TIfin.cxx.
References fSuppressedAddbackFrags.
Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().
TIfinHit * TIfin::GetSuppressedAddbackHit | ( | const int & | i | ) |
Definition at line 407 of file TIfin.cxx.
References FixCrossTalk(), GetSuppressedAddbackVector(), and IsCrossTalkSet().
Int_t TIfin::GetSuppressedAddbackMultiplicity | ( | const TBgo * | bgo | ) |
Definition at line 359 of file TIfin.cxx.
References TSuppressed::CreateSuppressedAddback(), FixCrossTalk(), TDetector::GetHitVector(), GetSuppressedAddbackFragVector(), GetSuppressedAddbackVector(), IsCrossTalkSet(), IsSuppressedAddbackSet(), and SetSuppressedAddback().
|
private |
Definition at line 218 of file TIfin.cxx.
References fSuppressedAddbackHits.
Referenced by GetSuppressedAddbackHit(), GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().
TIfinHit * TIfin::GetSuppressedHit | ( | const int & | i | ) |
Definition at line 284 of file TIfin.cxx.
References FixCrossTalk(), fSuppressedHits, and IsCrossTalkSet().
Int_t TIfin::GetSuppressedMultiplicity | ( | const TBgo * | bgo | ) |
Automatically builds the suppressed hits using the fSuppressionCriterion and returns the number of suppressed hits
Definition at line 300 of file TIfin.cxx.
References TSuppressed::CreateSuppressed(), FixCrossTalk(), TDetector::GetHitVector(), GetSuppressedVector(), IsCrossTalkSet(), IsSuppressed(), and SetSuppressed().
|
private |
Definition at line 213 of file TIfin.cxx.
References fSuppressedHits.
Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().
|
inline |
Definition at line 89 of file TIfin.h.
References fSuppressionCriterion.
|
inlineinherited |
Definition at line 78 of file TDetector.h.
References TDetector::fHits.
Referenced by TCSM::BuildHits(), TSharc::BuildHits(), TTigress::BuildHits(), TGriffin::GetHitVector(), TGriffin::GetHitVector(), TSharc2::GetSize(), TLaBr::GetSuppressedMultiplicity(), TGriffin::Print(), and TSiLi::UseFitCharge().
|
inlineinherited |
Definition at line 79 of file TDetector.h.
References TDetector::fHits.
bool TIfin::IsAddbackSet | ( | ) | const |
Definition at line 228 of file TIfin.cxx.
References kIsAddbackSet, and TestBitNumber().
Referenced by GetAddbackMultiplicity(), and Print().
bool TIfin::IsCrossTalkSet | ( | ) | const |
Definition at line 233 of file TIfin.cxx.
References kIsCrossTalkSet, and TestBitNumber().
Referenced by GetAddbackHit(), GetAddbackMultiplicity(), GetIfinHit(), GetSuppressedAddbackHit(), GetSuppressedAddbackMultiplicity(), GetSuppressedHit(), GetSuppressedMultiplicity(), and Print().
bool TIfin::IsSuppressed | ( | ) | const |
Definition at line 238 of file TIfin.cxx.
References kIsSuppressedSet, and TestBitNumber().
Referenced by GetSuppressedMultiplicity().
bool TIfin::IsSuppressedAddbackSet | ( | ) | const |
Definition at line 243 of file TIfin.cxx.
References kIsSuppressedAddbackSet, and TestBitNumber().
Referenced by GetSuppressedAddbackMultiplicity().
|
inlinevirtualinherited |
Definition at line 76 of file TDetector.h.
References TDetector::fHits.
Referenced by TTigress::BuildHits(), TTigress::GetAddbackMultiplicity(), and TLaBr::GetSuppressedMultiplicity().
|
override |
|
overridevirtual |
Reimplemented from TDetector.
Definition at line 180 of file TIfin.cxx.
References fAddbackHits, TDetector::GetMultiplicity(), IsAddbackSet(), and IsCrossTalkSet().
void TIfin::ResetAddback | ( | ) |
Definition at line 487 of file TIfin.cxx.
References GetAddbackFragVector(), GetAddbackVector(), SetAddback(), and SetCrossTalk().
void TIfin::ResetSuppressed | ( | ) |
Definition at line 498 of file TIfin.cxx.
References GetSuppressedVector(), and SetSuppressed().
void TIfin::ResetSuppressedAddback | ( | ) |
Definition at line 507 of file TIfin.cxx.
References GetSuppressedAddbackFragVector(), GetSuppressedAddbackVector(), SetCrossTalk(), and SetSuppressedAddback().
|
private |
Definition at line 248 of file TIfin.cxx.
References kIsAddbackSet, and SetBitNumber().
Referenced by GetAddbackMultiplicity(), and ResetAddback().
|
inline |
Definition at line 63 of file TIfin.h.
References fAddbackCriterion.
|
private |
Definition at line 528 of file TIfin.cxx.
References fIfinBits, and TTransientBits< T >::SetBit().
Referenced by SetAddback(), SetCrossTalk(), SetSuppressed(), and SetSuppressedAddback().
|
private |
Definition at line 253 of file TIfin.cxx.
References kIsCrossTalkSet, and SetBitNumber().
Referenced by FixCrossTalk(), ResetAddback(), and ResetSuppressedAddback().
|
private |
Definition at line 258 of file TIfin.cxx.
References kIsSuppressedSet, and SetBitNumber().
Referenced by GetSuppressedMultiplicity(), and ResetSuppressed().
|
private |
Definition at line 263 of file TIfin.cxx.
References kIsSuppressedAddbackSet, and SetBitNumber().
Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().
|
inline |
Definition at line 85 of file TIfin.h.
References fSuppressionCriterion.
|
inlineoverridevirtual |
Reimplemented from TSuppressed.
Definition at line 91 of file TIfin.h.
References fSuppressionCriterion.
|
inlineprivate |
Definition at line 121 of file TIfin.h.
References fIfinBits, and TTransientBits< T >::TestBit().
Referenced by IsAddbackSet(), IsCrossTalkSet(), IsSuppressed(), and IsSuppressedAddbackSet().
|
staticprivate |
Definition at line 100 of file TIfin.h.
Referenced by AddbackCriterion(), GetAddbackCriterion(), and SetAddbackCriterion().
|
mutableprivate |
! Number of crystals involved in creating the addback hit
Definition at line 109 of file TIfin.h.
Referenced by Clear(), Copy(), and GetAddbackFragVector().
|
mutableprivate |
|
privateinherited |
Definition at line 88 of file TDetector.h.
Referenced by TDetector::~TDetector(), TEagle::AddFragment(), TEaglePulser::AddFragment(), TFipps::AddFragment(), TFippsLaBr::AddFragment(), TFippsPulser::AddFragment(), TFippsTAC::AddFragment(), AddFragment(), TTdrClover::AddFragment(), TTdrPlastic::AddFragment(), TTdrSiLi::AddFragment(), TTdrTigress::AddFragment(), TDetector::AddHit(), TDetector::Clear(), TDetector::ClearTransients(), TDetector::Copy(), TFipps::GetFippsHit(), TDetector::GetHit(), TDetector::GetHitVector(), GetIfinHit(), TDetector::GetMultiplicity(), TFippsLaBr::GetSuppressedMultiplicity(), TTdrClover::GetSuppressedMultiplicity(), TTdrTigress::GetSuppressedMultiplicity(), TDetector::Hits(), TDetector::Hits(), TDetector::NoHits(), TDetector::Print(), TEagle::Print(), TEaglePulser::Print(), TFippsLaBr::Print(), TFippsTAC::Print(), TTdrPlastic::Print(), and TTdrSiLi::Print().
|
mutableprivate |
Definition at line 106 of file TIfin.h.
Referenced by ClearStatus(), Copy(), ResetFlags(), SetBitNumber(), and TestBitNumber().
|
mutableprivate |
! Number of crystals involved in creating the suppressed addback hit
Definition at line 112 of file TIfin.h.
Referenced by Clear(), Copy(), and GetSuppressedAddbackFragVector().
|
mutableprivate |
|
mutableprivate |
! Used to create suppressed hits on the fly
Definition at line 110 of file TIfin.h.
Referenced by ~TIfin(), Clear(), Copy(), GetSuppressedHit(), and GetSuppressedVector().
|
staticprivate |
Definition at line 101 of file TIfin.h.
Referenced by GetSuppressionCriterion(), SetSuppressionCriterion(), and SuppressionCriterion().
|
staticprivate |
|
static |
!
|
static |