KaliVeda
Toolkit for HIC analysis
KVINDRAGroupReconstructor Class Referenceabstract

Detailed Description

Reconstruct particles in INDRA groups.

Created by KVClassFactory on Wed Feb 21 13:42:47 2018 Author: John Frankland,,,

Definition at line 17 of file KVINDRAGroupReconstructor.h.

#include <KVINDRAGroupReconstructor.h>

Inheritance diagram for KVINDRAGroupReconstructor:

Public Member Functions

 KVINDRAGroupReconstructor (const KVGroup *g=nullptr)
 
virtual ~KVINDRAGroupReconstructor ()
 
void CalibrateParticle (KVReconstructedNucleus *PART) override
 
virtual void DoCalibration (KVReconstructedNucleus *)
 
virtual bool DoCoherencyAnalysis (KVReconstructedNucleus &)=0
 
void Identify () override
 
void IdentifyParticle (KVReconstructedNucleus &PART) override
 
KVReconstructedNucleusReconstructTrajectory (const KVGeoDNTrajectory *traj, const KVGeoDetectorNode *node) override
 
void SetGroup (const KVGroup *g) override
 
- Public Member Functions inherited from KVGroupReconstructor
 KVGroupReconstructor (const KVGroup *g=nullptr)
 Default constructor. More...
 
virtual ~KVGroupReconstructor ()
 Destructor. More...
 
void AnalyseParticles ()
 
void Calibrate ()
 Calculate and set energies of all Z-identified but uncalibrated charged particles in event. More...
 
void Clear (Option_t *="") override
 
KVReconstructedEventGetEventFragment () const
 
KVGroupGetGroup () const
 
int GetNFiredDets () const
 
Int_t GetNIdentifiedInGroup ()
 
Int_t GetNUnidentifiedInGroup ()
 
void Process ()
 
virtual void Reconstruct ()
 
void SetReconEventClass (TClass *c)
 Instantiate event fragment object. More...
 
- Public Member Functions inherited from KVBase
 KVBase ()
 Default constructor. More...
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type. More...
 
 KVBase (const KVBase &)
 copy ctor More...
 
void Copy (TObject &) const override
 Make a copy of this object. More...
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
virtual TObjectGetObject () const
 
virtual const Char_tGetType () const
 
Bool_t HasLabel () const
 
virtual Bool_t IsCalled (const Char_t *name) const
 
Bool_t IsLabelled (const Char_t *l) const
 
virtual Bool_t IsType (const Char_t *typ) const
 
virtual void List ()
 
KVBaseoperator= (const KVBase &)
 copy assignment operator More...
 
void Print (Option_t *option="") const override
 
Double_t ProtectedGetX (const TF1 *func, Double_t val, int &status, Double_t xmin=0.0, Double_t xmax=0.0) const
 
void SetLabel (const Char_t *lab)
 
virtual void SetNumber (UInt_t num)
 
virtual void SetType (const Char_t *str)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
virtual void FillBuffer (char *&buffer)
 
const char * GetName () const override
 
const char * GetTitle () const override
 
ULong_t Hash () const override
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 
TNamedoperator= (const TNamed &rhs)
 
virtual void SetName (const char *name)
 
virtual void SetNameTitle (const char *name, const char *title)
 
virtual void SetTitle (const char *title="")
 
virtual Int_t Sizeof () const
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 
virtual ~TObject ()
 
void AbstractMethod (const char *method) const
 
virtual void AppendPad (Option_t *option="")
 
virtual void Browse (TBrowser *b)
 
ULong_t CheckedHash ()
 
virtual const char * ClassName () const
 
virtual void Delete (Option_t *option="")
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 
virtual void Draw (Option_t *option="")
 
virtual void DrawClass () const
 
virtual TObjectDrawClone (Option_t *option="") const
 
virtual void Dump () const
 
virtual void Error (const char *method, const char *msgfmt,...) const
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 
virtual TObjectFindObject (const char *name) const
 
virtual TObjectFindObject (const TObject *obj) const
 
virtual Option_tGetDrawOption () const
 
virtual const char * GetIconName () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 
virtual Bool_t HandleTimer (TTimer *timer)
 
Bool_t HasInconsistentHash () const
 
virtual void Info (const char *method, const char *msgfmt,...) const
 
virtual Bool_t InheritsFrom (const char *classname) const
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 
virtual void Inspect () const
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 
virtual Bool_t IsEqual (const TObject *obj) const
 
virtual Bool_t IsFolder () const
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 
virtual Bool_t Notify ()
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *vp)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, void *vp)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 
virtual void Paint (Option_t *option="")
 
virtual void Pop ()
 
virtual Int_t Read (const char *name)
 
virtual void RecursiveRemove (TObject *obj)
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 
virtual void SetDrawOption (Option_t *option="")
 
virtual void SetUniqueID (UInt_t uid)
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 

Private Member Functions

Bool_t CalculateChIoDEFromResidualEnergy (KVReconstructedNucleus *n, Double_t ERES)
 
void CalibrateCoherencyParticle (KVReconstructedNucleus *) override
 
void CheckCsIEnergy (KVReconstructedNucleus *n)
 
double DoBeryllium8Calibration (KVReconstructedNucleus *n)
 
KVDetector * GetCsI (KVReconstructedNucleus *n)
 
void SetBadCalibrationStatus (KVReconstructedNucleus *n)
 
void SetNoCalibrationStatus (KVReconstructedNucleus *n)
 

Private Attributes

Double_t fEChIo
 
Double_t fECsI
 
Double_t fESi
 
bool print_part
 debug More...
 
KVDetector * theChio
 the ChIo of the group More...
 

Static Private Attributes

static TString CSI_ID_TYPE = "CSI"
 

Friends

class KVINDRA
 

Additional Inherited Members

- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 
- Static Public Member Functions inherited from KVGroupReconstructor
static KVGroupReconstructorFactory (const TString &plugin="", const KVGroup *g=nullptr)
 
static void SetDoCalibration (bool on=kTRUE)
 
static void SetDoIdentification (bool on=kTRUE)
 
- Static Public Member Functions inherited from KVBase
static Bool_t AreEqual (Double_t x, Double_t y, Long64_t maxdif=1)
 Comparison between two 64-bit floating-point values. More...
 
static void BackupFileWithDate (const Char_t *path)
 
static void CombineFiles (const Char_t *file1, const Char_t *file2, const Char_t *newfilename, Bool_t keep=kTRUE)
 
static void Deprecated (const char *method, const char *advice)
 
static Bool_t FindClassSourceFiles (const KVString &class_name, KVString &imp_file, KVString &dec_file, const KVString &dir_name=".")
 
static Bool_t FindExecutable (TString &exec, const Char_t *path="$(PATH)")
 
static const Char_tFindFile (const Char_t *search, TString &wfil)
 
static const Char_tGetBINDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetDATABASEFilePath ()
 
static const Char_tGetDATADIRFilePath (const Char_t *namefile="")
 
static KVString GetDataSetEnv (const KVString &dataset, const KVString &type, const char *defval)
 
template<typename ValType >
static ValType GetDataSetEnv (const KVString &dataset, const KVString &type, const ValType &defval)
 
static const Char_tGetETCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetExampleFilePath (const Char_t *library, const Char_t *namefile)
 Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More...
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date. More...
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build. More...
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time. More...
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More...
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build. More...
 
static int GetKVMajorVersion ()
 
static int GetKVMinorVersion ()
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build. More...
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string. More...
 
static const Char_tGetLIBDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetListOfPlugins (const Char_t *base)
 
static const Char_tGetListOfPluginURIs (const Char_t *base)
 
static const Char_tGetPluginURI (const Char_t *base, const Char_t *plugin)
 
static void GetTempFileName (TString &base)
 
static const Char_tGetTEMPLATEDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetWORKDIRFilePath (const Char_t *namefile="")
 
static const Char_tgitBranch ()
 Returns git branch of sources. More...
 
static const Char_tgitCommit ()
 Returns last git commit of sources. More...
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
static Bool_t IsEnvInit ()
 
static Bool_t IsThisAPlugin (const TString &uri, TString &base)
 
static TPluginHandlerLoadPlugin (const Char_t *base, const Char_t *uri="0")
 
static Bool_t OpenContextMenu (const char *method, TObject *obj, const char *alt_method_name="")
 
static void OpenTempFile (TString &base, std::ofstream &fp)
 
static void PrintSplashScreen ()
 Prints welcome message and infos on version etc. More...
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, KVSQLite::database &dbfile, const Char_t *kvsubdir="")
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ifstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchAndOpenKVFile (const Char_t *name, std::ofstream &file, const Char_t *kvsubdir="", KVLockfile *locks=0)
 
static Bool_t SearchKVFile (const Char_t *name, TString &fullpath, const Char_t *kvsubdir="")
 
static const Char_tWorkingDirectory ()
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 
static Bool_t GetObjectStat ()
 
static void SetDtorOnly (void *obj)
 
static void SetObjectStat (Bool_t stat)
 
- Public Attributes inherited from TObject
 kBitMask
 
 kCanDelete
 
 kCannotPick
 
 kHasUUID
 
 kInconsistent
 
 kInvalidObject
 
 kIsOnHeap
 
 kIsReferenced
 
 kMustCleanup
 
 kNoContextMenu
 
 kNotDeleted
 
 kObjInCanvas
 
 kOverwrite
 
 kSingleKey
 
 kWriteDelete
 
 kZombie
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 
void MakeZombie ()
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TObject
 kOnlyPrepStep
 

Constructor & Destructor Documentation

◆ KVINDRAGroupReconstructor()

KVINDRAGroupReconstructor::KVINDRAGroupReconstructor ( const KVGroup g = nullptr)
inline

Definition at line 53 of file KVINDRAGroupReconstructor.h.

◆ ~KVINDRAGroupReconstructor()

virtual KVINDRAGroupReconstructor::~KVINDRAGroupReconstructor ( )
inlinevirtual

Definition at line 57 of file KVINDRAGroupReconstructor.h.

Member Function Documentation

◆ CalculateChIoDEFromResidualEnergy()

Bool_t KVINDRAGroupReconstructor::CalculateChIoDEFromResidualEnergy ( KVReconstructedNucleus n,
Double_t  ERES 
)
private

calculate fEChIo from residual energy

returns kFALSE if it doesn't work, and sets particle bad calibration status

returns kTRUE if it works, and sets calib status to SOME_ENERGY_LOSSES_CALCULATED

Definition at line 255 of file KVINDRAGroupReconstructor.cpp.

◆ CalibrateCoherencyParticle()

void KVINDRAGroupReconstructor::CalibrateCoherencyParticle ( KVReconstructedNucleus )
inlineoverrideprivatevirtual

Reimplemented from KVGroupReconstructor.

Definition at line 50 of file KVINDRAGroupReconstructor.h.

◆ CalibrateParticle()

void KVINDRAGroupReconstructor::CalibrateParticle ( KVReconstructedNucleus PART)
overridevirtual

Calculate and set the energy of a (previously identified) reconstructed particle

This is only possible for correctly identified particles. We exclude IDCODE9 particles (Zmin in CsI-RL)

Reimplemented from KVGroupReconstructor.

Definition at line 284 of file KVINDRAGroupReconstructor.cpp.

◆ CheckCsIEnergy()

void KVINDRAGroupReconstructor::CheckCsIEnergy ( KVReconstructedNucleus n)
private

Check calculated CsI energy loss of particle:

  • If the particle was identified by the CsI but only in Z (case of particles falling in zones labelled "nomassid|Z=...") then we give it the (bad) calibration code KVINDRA::ECodes::WARNING_CSI_NO_MASS_ID
  • If it is greater than the maximum theoretical energy loss (depending on the length of CsI, the Z & A of the particle) we set the energy calibration code to KVINDRA::ECodes::WARNING_CSI_MAX_ENERGY (=3, historical VEDA code for particles with E_csi > E_max_csi)

Definition at line 360 of file KVINDRAGroupReconstructor.cpp.

◆ DoBeryllium8Calibration()

double KVINDRAGroupReconstructor::DoBeryllium8Calibration ( KVReconstructedNucleus n)
private

Beryllium-8 = 2 alpha particles of same energy We halve the total light output of the CsI to calculate the energy of 1 alpha Then multiply resulting energy by 2 Note: fECsI is -ve, because energy is calculated not measured

Definition at line 329 of file KVINDRAGroupReconstructor.cpp.

◆ DoCalibration()

virtual void KVINDRAGroupReconstructor::DoCalibration ( KVReconstructedNucleus )
inlinevirtual

◆ DoCoherencyAnalysis()

virtual bool KVINDRAGroupReconstructor::DoCoherencyAnalysis ( KVReconstructedNucleus )
pure virtual

◆ GetCsI()

KVDetector* KVINDRAGroupReconstructor::GetCsI ( KVReconstructedNucleus n)
inlineprivate

Definition at line 42 of file KVINDRAGroupReconstructor.h.

◆ Identify()

void KVINDRAGroupReconstructor::Identify ( )
overridevirtual

Reimplemented from KVGroupReconstructor.

Definition at line 91 of file KVINDRAGroupReconstructor.cpp.

◆ IdentifyParticle()

void KVINDRAGroupReconstructor::IdentifyParticle ( KVReconstructedNucleus PART)
overridevirtual

INDRA-specific particle identification. Here we attribute the Veda6-style general identification codes depending on the result of KVReconstructedNucleus::Identify and the subcodes from the different identification algorithms: If the particle's mass A was NOT measured, we make sure that it is calculated from the measured Z using the mass formula defined by default

IDENTIFIED PARTICLES Identified particles with ID code = 2 with subcodes 4 & 5 (masse hors limite superieure/inferieure) are relabelled with kIDCode10 (identification entre les lignes CsI)

UNIDENTIFIED PARTICLES Unidentified particles receive the general ID code for non-identified particles (kIDCode14) EXCEPT if their identification in CsI gave subcodes 6 or 7 (Zmin) then they are relabelled "Identified" with IDcode = 9 (ident. incomplete dans CsI ou Phoswich (Z.min)) Their "identifying" telescope is set to the CsI ID telescope

Reimplemented from KVGroupReconstructor.

Definition at line 139 of file KVINDRAGroupReconstructor.cpp.

◆ ReconstructTrajectory()

KVReconstructedNucleus * KVINDRAGroupReconstructor::ReconstructTrajectory ( const KVGeoDNTrajectory traj,
const KVGeoDetectorNode node 
)
overridevirtual
Parameters
trajtrajectory currently being scanned
nodecurrent detector on trajectory to test
Returns
pointer to a new reconstructed particle added to this group's event; nullptr if nothing is to be done

Specialised particle reconstruction for INDRA data.

If the fired detector in question is a CsI we check, if identification is available, whether this corresponds to a 'gamma'. If so we count it (event parameter "INDRA_GAMMA_MULT") and add the name of the detector to the parameter "INDRA_GAMMA_DETS" but do not begin the reconstruction of a particle. This allows to continue along the trajectory and directly reconstruct any charged particle which may stop in the Si detector in coincidence with a 'gamma' in the CsI.

Reimplemented from KVGroupReconstructor.

Definition at line 29 of file KVINDRAGroupReconstructor.cpp.

◆ SetBadCalibrationStatus()

void KVINDRAGroupReconstructor::SetBadCalibrationStatus ( KVReconstructedNucleus n)
inlineprivate

Definition at line 27 of file KVINDRAGroupReconstructor.h.

◆ SetGroup()

void KVINDRAGroupReconstructor::SetGroup ( const KVGroup g)
inlineoverridevirtual

Reimplemented from KVGroupReconstructor.

Definition at line 59 of file KVINDRAGroupReconstructor.h.

◆ SetNoCalibrationStatus()

void KVINDRAGroupReconstructor::SetNoCalibrationStatus ( KVReconstructedNucleus n)
inlineprivate

Definition at line 33 of file KVINDRAGroupReconstructor.h.

Friends And Related Function Documentation

◆ KVINDRA

friend class KVINDRA
friend

Definition at line 19 of file KVINDRAGroupReconstructor.h.

Member Data Documentation

◆ CSI_ID_TYPE

TString KVINDRAGroupReconstructor::CSI_ID_TYPE = "CSI"
staticprivate

Definition at line 25 of file KVINDRAGroupReconstructor.h.

◆ fEChIo

Double_t KVINDRAGroupReconstructor::fEChIo
private

Definition at line 23 of file KVINDRAGroupReconstructor.h.

◆ fECsI

Double_t KVINDRAGroupReconstructor::fECsI
private

Definition at line 23 of file KVINDRAGroupReconstructor.h.

◆ fESi

Double_t KVINDRAGroupReconstructor::fESi
private

Definition at line 23 of file KVINDRAGroupReconstructor.h.

◆ print_part

bool KVINDRAGroupReconstructor::print_part
private

debug

Definition at line 24 of file KVINDRAGroupReconstructor.h.

◆ theChio

KVDetector* KVINDRAGroupReconstructor::theChio
private

the ChIo of the group

Definition at line 22 of file KVINDRAGroupReconstructor.h.