The TFipps class defines the observables and algorithms used when analyzing FIPPS data. It includes detector positions, add-back methods, etc.
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 |
TFippsHit * | GetAddbackHit (const int &i) |
Int_t | GetAddbackMultiplicity () |
TFippsHit * | GetFippsHit (const Int_t &i) |
virtual TDetectorHit * | GetHit (const int &) const |
virtual const std::vector< TDetectorHit * > & | GetHitVector () const |
virtual Short_t | GetMultiplicity () const |
UShort_t | GetNAddbackFrags (const size_t &idx) |
TFippsHit * | GetSuppressedAddbackHit (const int &i) |
Int_t | GetSuppressedAddbackMultiplicity (const TBgo *bgo) |
TFippsHit * | GetSuppressedHit (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 |
TFipps & | operator= (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>
|
strong |
TFipps::TFipps | ( | ) |
Definition at line 100 of file TFipps.cxx.
References Clear().
TFipps::TFipps | ( | const TFipps & | rhs | ) |
Definition at line 109 of file TFipps.cxx.
References Copy().
|
override |
Definition at line 131 of file TFipps.cxx.
References fAddbackHits, fSuppressedAddbackHits, and fSuppressedHits.
|
inlineoverridevirtual |
Reimplemented from TSuppressed.
Definition at line 68 of file TFipps.h.
References fAddbackCriterion.
|
overridevirtual |
!
Reimplemented from TDetector.
Definition at line 399 of file TFipps.cxx.
References TDetector::fHits, TChannel::GetMnemonic(), TMnemonic::kG, and TMnemonic::SubSystem().
|
inlinevirtualinherited |
!
Reimplemented in TTigress, TLaBr, TFippsLaBr, TRF, TSharc, TTrific, TGriffin, TCSM, TS3, TDescant, TZeroDegree, TTriFoil, TTAC, TEagle, TFippsTAC, TEmma, TSceptar, TTip, TSiLi, TBgo, TPaces, TGenericDetector, TEaglePulser, and TFippsPulser.
Definition at line 48 of file TDetector.h.
|
override |
!
Definition at line 142 of file TFipps.cxx.
References TSuppressed::Clear(), ClearStatus(), fAddbackFrags, fAddbackHits, fSuppressedAddbackFrags, fSuppressedAddbackHits, and fSuppressedHits.
Referenced by TFipps().
|
inlineprivate |
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
void TFipps::FixCrossTalk | ( | ) |
Definition at line 544 of file TFipps.cxx.
References TGRSIOptions::AnalysisOptions(), CTCorrectedEnergy(), TDetector::GetHitVector(), TAnalysisOptions::IsCorrectingCrossTalk(), SetCrossTalk(), and TDetectorHit::SetEnergy().
Referenced by GetAddbackHit(), GetAddbackMultiplicity(), GetFippsHit(), GetSuppressedAddbackHit(), GetSuppressedAddbackMultiplicity(), GetSuppressedHit(), and GetSuppressedMultiplicity().
|
inline |
Definition at line 66 of file TFipps.h.
References fAddbackCriterion.
|
private |
!
Definition at line 193 of file TFipps.cxx.
References fAddbackFrags.
Referenced by GetAddbackMultiplicity(), GetNAddbackFrags(), and ResetAddback().
TFippsHit * TFipps::GetAddbackHit | ( | const int & | i | ) |
Definition at line 367 of file TFipps.cxx.
References FixCrossTalk(), GetAddbackVector(), and IsCrossTalkSet().
Int_t TFipps::GetAddbackMultiplicity | ( | ) |
Definition at line 310 of file TFipps.cxx.
References TSuppressed::CreateAddback(), FixCrossTalk(), GetAddbackFragVector(), GetAddbackVector(), TDetector::GetHitVector(), IsAddbackSet(), IsCrossTalkSet(), and SetAddback().
|
private |
!
Definition at line 188 of file TFipps.cxx.
References fAddbackHits.
Referenced by GetAddbackHit(), GetAddbackMultiplicity(), and ResetAddback().
|
static |
Definition at line 568 of file TFipps.cxx.
Referenced by main().
TFippsHit * TFipps::GetFippsHit | ( | const Int_t & | i | ) |
Definition at line 253 of file TFipps.cxx.
References TDetector::fHits, FixCrossTalk(), and IsCrossTalkSet().
|
virtualinherited |
Definition at line 70 of file TDetector.cxx.
References TDetector::fHits.
Referenced by exAnalysis(), TBgo::GetBgoHit(), TCSM::GetCSMHit(), TDescant::GetDescantHit(), TEagle::GetEagleHit(), TEmma::GetEmmaHit(), TGenericDetector::GetGenericDetectorHit(), TLaBrBgo::GetLaBrBgoHit(), TFippsLaBr::GetLaBrHit(), TLaBr::GetLaBrHit(), TPaces::GetPacesHit(), TS3::GetS3Hit(), TSceptar::GetSceptarHit(), TSharc::GetSharcHit(), TSiLi::GetSiLiHit(), TTAC::GetTACHit(), TFippsTAC::GetTACHit(), TTdrClover::GetTdrCloverHit(), TTdrPlastic::GetTdrPlasticHit(), TTdrSiLi::GetTdrSiLiHit(), TTdrTigress::GetTdrTigressHit(), TTigress::GetTigressHit(), TTip::GetTipHit(), TTrific::GetTrificHit(), TZeroDegree::GetZeroDegreeHit(), and MakeAnalysisHistograms().
|
inlinevirtualinherited |
Reimplemented in TGriffin.
Definition at line 64 of file TDetector.h.
References TDetector::fHits.
Referenced by TSuppressed::CreateSuppressed(), TSuppressed::CreateSuppressedAddback(), FixCrossTalk(), TIfin::FixCrossTalk(), TTdrClover::GetAddbackMultiplicity(), TTdrTigress::GetAddbackMultiplicity(), GetAddbackMultiplicity(), TIfin::GetAddbackMultiplicity(), TTdrClover::GetSuppressedAddbackMultiplicity(), TTdrTigress::GetSuppressedAddbackMultiplicity(), GetSuppressedMultiplicity(), and TIfin::GetSuppressedMultiplicity().
|
inlinevirtualinherited |
Reimplemented in TTrific, and TGriffin.
Definition at line 62 of file TDetector.h.
References TDetector::fHits.
Referenced by exAnalysis(), TimeWalkSelector::FillHistograms(), ExampleEventSelector::FillHistograms(), ExampleTreeSelector::FillHistograms(), AngularCorrelationSelector::FillHistograms(), main(), MakeAnalysisHistograms(), TBgo::Print(), TTdrClover::Print(), TTdrTigress::Print(), Print(), TIfin::Print(), and TTigress::Print().
UShort_t TFipps::GetNAddbackFrags | ( | const size_t & | idx | ) |
Definition at line 486 of file TFipps.cxx.
References GetAddbackFragVector().
|
static |
!
Definition at line 420 of file TFipps.cxx.
References gCloverPosition.
Referenced by TFippsHit::GetPosition().
|
private |
Definition at line 208 of file TFipps.cxx.
References fSuppressedAddbackFrags.
Referenced by GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().
TFippsHit * TFipps::GetSuppressedAddbackHit | ( | const int & | i | ) |
Definition at line 383 of file TFipps.cxx.
References FixCrossTalk(), GetSuppressedAddbackVector(), and IsCrossTalkSet().
Int_t TFipps::GetSuppressedAddbackMultiplicity | ( | const TBgo * | bgo | ) |
Definition at line 338 of file TFipps.cxx.
References TSuppressed::CreateSuppressedAddback(), FixCrossTalk(), GetSuppressedAddbackFragVector(), GetSuppressedAddbackVector(), GetSuppressedVector(), IsAddbackSet(), IsCrossTalkSet(), and SetSuppressedAddback().
|
private |
Definition at line 203 of file TFipps.cxx.
References fSuppressedAddbackHits.
Referenced by GetSuppressedAddbackHit(), GetSuppressedAddbackMultiplicity(), and ResetSuppressedAddback().
TFippsHit * TFipps::GetSuppressedHit | ( | const int & | i | ) |
Definition at line 269 of file TFipps.cxx.
References FixCrossTalk(), fSuppressedHits, and IsCrossTalkSet().
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().
|
private |
Definition at line 198 of file TFipps.cxx.
References fSuppressedHits.
Referenced by GetSuppressedAddbackMultiplicity(), GetSuppressedMultiplicity(), and ResetSuppressed().
|
inline |
Definition at line 88 of file TFipps.h.
References fSuppressionCriterion.
bool TFipps::IsAddbackSet | ( | ) | const |
Definition at line 213 of file TFipps.cxx.
References kIsAddbackSet, and TestBitNumber().
Referenced by GetAddbackMultiplicity(), GetSuppressedAddbackMultiplicity(), and Print().
bool TFipps::IsCrossTalkSet | ( | ) | const |
Definition at line 218 of file TFipps.cxx.
References kIsCrossTalkSet, and TestBitNumber().
Referenced by GetAddbackHit(), GetAddbackMultiplicity(), GetFippsHit(), GetSuppressedAddbackHit(), GetSuppressedAddbackMultiplicity(), GetSuppressedHit(), GetSuppressedMultiplicity(), and Print().
bool TFipps::IsSuppressed | ( | ) | const |
Definition at line 223 of file TFipps.cxx.
References kIsSuppressedSet, and TestBitNumber().
Referenced by GetSuppressedMultiplicity().
bool TFipps::IsSuppressedAddbackSet | ( | ) | const |
Definition at line 228 of file TFipps.cxx.
References kIsSuppressedAddbackSet, and TestBitNumber().
|
override |
!
Definition at line 160 of file TFipps.cxx.
|
overridevirtual |
Reimplemented from TDetector.
Definition at line 165 of file TFipps.cxx.
References fAddbackHits, TDetector::GetMultiplicity(), IsAddbackSet(), and IsCrossTalkSet().
void TFipps::ResetAddback | ( | ) |
Definition at line 463 of file TFipps.cxx.
References GetAddbackFragVector(), GetAddbackVector(), SetAddback(), and SetCrossTalk().
void TFipps::ResetFlags | ( | ) | const |
Definition at line 458 of file TFipps.cxx.
References fFippsBits.
void TFipps::ResetSuppressed | ( | ) |
Definition at line 471 of file TFipps.cxx.
References GetSuppressedVector(), and SetSuppressed().
void TFipps::ResetSuppressedAddback | ( | ) |
Definition at line 477 of file TFipps.cxx.
References GetSuppressedAddbackFragVector(), GetSuppressedAddbackVector(), SetAddback(), SetCrossTalk(), and SetSuppressed().
|
private |
Definition at line 233 of file TFipps.cxx.
References kIsAddbackSet, and SetBitNumber().
Referenced by GetAddbackMultiplicity(), ResetAddback(), and ResetSuppressedAddback().
|
inline |
Definition at line 62 of file TFipps.h.
References fAddbackCriterion.
|
private |
Definition at line 496 of file TFipps.cxx.
References fFippsBits, and TTransientBits< T >::SetBit().
Referenced by SetAddback(), SetCrossTalk(), SetSuppressed(), and SetSuppressedAddback().
|
private |
Definition at line 238 of file TFipps.cxx.
References kIsCrossTalkSet, and SetBitNumber().
Referenced by FixCrossTalk(), ResetAddback(), and ResetSuppressedAddback().
|
private |
Definition at line 243 of file TFipps.cxx.
References kIsSuppressedSet, and SetBitNumber().
Referenced by GetSuppressedMultiplicity(), ResetSuppressed(), and ResetSuppressedAddback().
|
private |
Definition at line 248 of file TFipps.cxx.
References kIsSuppressedAddbackSet, and SetBitNumber().
Referenced by GetSuppressedAddbackMultiplicity().
|
inline |
Definition at line 84 of file TFipps.h.
References fSuppressionCriterion.
|
inlineoverridevirtual |
Reimplemented from TSuppressed.
Definition at line 90 of file TFipps.h.
References fSuppressionCriterion.
|
inlineprivate |
Definition at line 120 of file TFipps.h.
References fFippsBits, and TTransientBits< T >::TestBit().
Referenced by IsAddbackSet(), IsCrossTalkSet(), IsSuppressed(), and IsSuppressedAddbackSet().
|
staticprivate |
Definition at line 99 of file TFipps.h.
Referenced by AddbackCriterion(), GetAddbackCriterion(), and SetAddbackCriterion().
|
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().
|
mutableprivate |
|
mutableprivate |
Definition at line 105 of file TFipps.h.
Referenced by ClearStatus(), Copy(), ResetFlags(), SetBitNumber(), and TestBitNumber().
|
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().
|
mutableprivate |
Definition at line 111 of file TFipps.h.
Referenced by Clear(), Copy(), and GetSuppressedAddbackFragVector().
|
mutableprivate |
|
mutableprivate |
Definition at line 109 of file TFipps.h.
Referenced by Clear(), Copy(), GetSuppressedHit(), GetSuppressedVector(), and ~TFipps().
|
staticprivate |
Definition at line 100 of file TFipps.h.
Referenced by GetSuppressionCriterion(), SetSuppressionCriterion(), and SuppressionCriterion().
|
staticprivate |
! Position of each HPGe Clover
Definition at line 117 of file TFipps.h.
Referenced by GetPosition().