KaliVeda
Toolkit for HIC analysis
KVFAZIA Class Reference

Detailed Description

Description of a FAZIA detector geometry.

Definition at line 33 of file KVFAZIA.h.

#include <KVFAZIA.h>

Inheritance diagram for KVFAZIA:

Public Types

enum  ECodes {
  NO_CALIBRATION_ATTEMPTED = 0 , NORMAL_CALIBRATION = 1 , SOME_ENERGY_LOSSES_CALCULATED = 2 , WARNING_CSI_MAX_ENERGY = 3 ,
  ENERGY_LOSSES_TENTATIVELY_CALCULATED = 4
}
 Calibration quality codes attributed to particles reconstructed from data. More...
 
enum  IDCodes {
  NO_IDENTIFICATION = -1 , ID_GAMMA = 0 , ID_SI1_PSA = 11 , ID_SI1_SI2 = 12 ,
  ID_SI1_CSI = 13 , ID_SI2_PSA = 22 , ID_SI2_CSI = 23 , ID_SI12_CSI = 123 ,
  ID_CSI_PSA = 33 , ID_STOPPED_IN_FIRST_STAGE = 5 , ID_SI1_SI2_MAYBE_PUNCH_THROUGH = 120 , ID_SI1_SI2_PUNCH_THROUGH = 121 ,
  ID_SI1_PUNCH_THROUGH = 110 , ID_INCOHERENT = 666
}
 Identification quality codes attributed to particles reconstructed from data. More...
 
- Public Types inherited from KVMultiDetArray
enum  EFilterType { kFilterType_Geo , kFilterType_GeoThresh , kFilterType_Full }
 filter types. values of fFilterType More...
 
- Public Types inherited from KVBase
enum  EKaliVedaBits { kIsKaliVedaObject = BIT(23) }
 
- Public Types inherited from TObject
enum  EDeprecatedStatusBits
 
enum  EStatusBits
 

Public Member Functions

 KVFAZIA (const Char_t *title="")
 Default constructor. More...
 
virtual ~KVFAZIA ()
 Destructor. More...
 
void AddDetectorLabel (const Char_t *label)
 
void Build (Int_t=-1) override
 Build the FAZIA array. More...
 
void DeduceIdentificationTelescopesFromGeometry () override
 
void FillDetectorList (KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames) override
 
UShort_t GetBadIDCode () const override
 
void GetDetectorEvent (KVDetectorEvent *detev, const TSeqCollection *dets) override
 
KVString GetDetectorLabels () const
 
TString GetECodeMeaning (Int_t ec) const override
 
Int_t GetIDCodeForParticlesStoppingInFirstStageOfTelescopes () const override
 
TString GetIDCodeMeaning (Int_t idc) const override
 
Int_t GetNumberOfBlocks () const
 
KVGroupReconstructorGetReconstructorForGroup (const KVGroup *) const override
 Specialized group reconstructor for FAZIA. More...
 
Double_t GetSetupParameter (const Char_t *parname)
 
const Char_tGetSignalTypes () const
 
const KVFAZIATriggerGetTrigger () const
 
std::string GetTriggerForCurrentRun () const
 
void IncludeTargetInGeometry (Bool_t include=kTRUE)
 
void MakeCalibrationTables (KVExpDB *) override
 Override base method in order to read FAZIA trigger for each run. More...
 
void SetGeometryImportParameters (Double_t dt=0.25, Double_t dp=1.0, Double_t tmin=2., Double_t pmin=0, Double_t tmax=20., Double_t pmax=360., Double_t xorg=0, Double_t yorg=0, Double_t zorg=0)
 
void SetRawDataFromReconEvent (KVNameValueList &) override
 Overrides base method in order to set the value of the trigger bit pattern for the event. More...
 
- Public Member Functions inherited from KVMultiDetArray
 KVMultiDetArray ()
 Default constructor. More...
 
 KVMultiDetArray (const Char_t *name, const Char_t *type="")
 Constructor with name and optional type. More...
 
virtual ~KVMultiDetArray ()
 destroy (delete) the MDA and all the associated structure, detectors etc. More...
 
virtual void AcceptAllECodes ()
 
virtual void AcceptAllIDCodes ()
 
void AcceptECodes (const KVNumberList &codelist)
 
void AcceptIDCodes (const KVNumberList &codelist)
 
virtual void AcceptParticleForAnalysis (KVReconstructedNucleus *) const
 
void CalculateIdentificationGrids ()
 For each IDtelescope in array, calculate an identification grid. More...
 
Bool_t CalParamsSet ()
 
void CheckStatusOfDetectors (KVDBRun *, const TString &="")
 
void Clear (Option_t *opt="") override
 
void CreateGeoManager (Double_t dx=500, Double_t dy=500, Double_t dz=500)
 
void Draw (Option_t *option="") override
 
void FillHistogramsForAllIDTelescopes (KVSeqCollection *list)
 Fill TH2F histograms for all IDTelescopes of the array. More...
 
void FillListOfIDTelescopes (KVIDGraph *gr) const
 
const KVNumberListGetAcceptedECodes () const
 
const KVNumberListGetAcceptedIDCodes () const
 
virtual KVMultiDetArrayGetArray (const Char_t *) const
 
virtual UChar_t GetCalculatedCalibrationCode () const
 
TListGetCalibrationStatusOfDetectors ()
 
virtual UShort_t GetCoherencyIDCode () const
 
UInt_t GetCurrentRunNumber () const
 
TString GetDataSet () const
 
const KVSeqCollectionGetExtraRawDataSignals () const
 
const KVSeqCollectionGetFiredDetectors () const
 
const KVSeqCollectionGetFiredSignals () const
 
TGeoManagerGetGeometry () const
 Return pointer to the (ROOT) geometry of the array. More...
 
KVGroupGetGroup (const Char_t *name) const
 
KVGroupGetGroup (Int_t number) const
 
KVIDTelescopeGetIDTelescope (const Char_t *name) const
 Return pointer to DeltaE-E ID Telescope with "name". More...
 
KVSeqCollectionGetIDTelescopesWithType (const Char_t *type)
 
KVUniqueNameListGetIDTelescopeTypes ()
 
KVSeqCollectionGetListOfIDTelescopes () const
 
virtual UShort_t GetMultiHitFirstStageIDCode () const
 
KVGeoNavigatorGetNavigator () const
 
virtual UChar_t GetNoCalibrationCode () const
 
Int_t GetNumberOfGroups () const
 
virtual const Char_tGetPartSeedCond () const
 
KVNameValueListGetReconParameters ()
 
const KVNameValueListGetReconParameters () const
 
TListGetStatusOfIDTelescopes ()
 
KVTargetGetTarget ()
 
virtual Double_t GetTargetEnergyLossCorrection (KVReconstructedNucleus *)
 
virtual Double_t GetTotalSolidAngle (void) const
 
const TSeqCollectionGetTrajectories () const
 
KVUpDaterGetUpDater ()
 
UShort_t GetZminCode () const
 
Bool_t HandledRawData () const
 
Bool_t HandleRawDataBuffer (MFMBufferReader &)
 
virtual Bool_t HandleRawDataEvent (KVRawDataReader *)
 
Bool_t IDParamsSet ()
 
void init ()
 
virtual void InitialiseRawDataReading (KVRawDataReader *)
 
virtual void InitializeIDTelescopes ()
 
Bool_t IsBeingDeleted ()
 
virtual Bool_t IsBuilt () const
 
Bool_t IsRemoving ()
 
Bool_t IsSimMode () const
 
void MakeHistogramsForAllIDTelescopes (KVSeqCollection *list, Int_t dimension=100)
 
Bool_t ParamsSet ()
 
void prepare_to_handle_new_raw_data ()
 reset acquisition parameters etc. before reading new raw data event More...
 
void PrintCalibStatusOfDetectors ()
 
void PrintStatusOfIDTelescopes ()
 
Bool_t ReadGridsFromAsciiFile (const Char_t *) const
 
void RecursiveTrajectoryClustering (KVGeoDetectorNode *N, KVUniqueNameList &tried_trajectories, KVUniqueNameList &multitraj_nodes, KVUniqueNameList &detectors_of_group)
 
virtual void SetCalibratorParameters (KVDBRun *, const TString &="")
 
void SetCurrentRunNumber (UInt_t r)
 
virtual void SetDetectorParametersForRun (KVDBRun *, const TString &="")
 
void SetDetectorThicknesses ()
 
void SetDetectorTransparency (Char_t)
 Modify the transparency of detector volumes in OpenGL view. More...
 
void SetFilterType (Int_t t)
 
void SetGeometry (TGeoManager *)
 
void SetGridsInTelescopes (UInt_t run)
 
virtual void SetIdentifications ()
 
void SetNavigator (KVGeoNavigator *geo)
 
virtual void SetParameters (UInt_t n, Bool_t physics_parameters_only=kFALSE)
 
virtual void SetPartSeedCond (const Char_t *cond)
 
virtual void SetReconParametersInEvent (KVReconstructedEvent *) const
 Copy any parameters in fReconParameters in to the reconstructed event parameter list. More...
 
virtual void SetRunCalibrationParameters (UShort_t n)
 
virtual void SetRunIdentificationParameters (UShort_t n)
 
virtual void SetSimMode (Bool_t on=kTRUE)
 
virtual void SetTarget (KVTarget *target)
 
- Public Member Functions inherited from KVGeoStrucElement
 KVGeoStrucElement ()
 Default constructor. More...
 
 KVGeoStrucElement (const Char_t *name, const Char_t *type="")
 Create a geometry structure element with given name and type. More...
 
virtual ~KVGeoStrucElement ()
 Destructor. More...
 
virtual void Add (KVBase *)
 
void Clear (Option_t *opt="") override
 Empty lists of detectors, daughter structures, and parent structures. More...
 
void ClearDetectors (const Char_t *type="")
 
void ClearStructures (const Char_t *type="")
 
virtual Bool_t Contains (KVBase *name) const
 
virtual Bool_t Fired (Option_t *opt="any") const
 
virtual KVDetector * GetDetector (const Char_t *name) const
 Return detector in this structure with given name. More...
 
KVDetector * GetDetectorAny (const Char_t *name)
 
KVDetector * GetDetectorByType (const Char_t *type) const
 Return detector in this structure with given type. More...
 
KVSeqCollectionGetDetectorNameList (const Char_t *name) const
 
KVSeqCollectionGetDetectors ()
 
const KVSeqCollectionGetDetectors () const
 
KVSeqCollectionGetDetectorTypeList (const Char_t *type) const
 
const KVSeqCollectionGetParents () const
 
template<typename ParentClass >
ParentClass * GetParentStructure () const
 
KVGeoStrucElementGetParentStructure (const Char_t *type, const Char_t *name="") const
 
KVGeoStrucElementGetStructure (const Char_t *name) const
 
KVGeoStrucElementGetStructure (const Char_t *type, const Char_t *name) const
 Get structure with type and name. More...
 
KVGeoStrucElementGetStructure (const Char_t *type, Int_t num) const
 Get structure with type and number. More...
 
const KVSeqCollectionGetStructures () const
 
KVSeqCollectionGetStructureTypeList (const Char_t *type) const
 
bool OwnsDaughters () const
 
bool OwnsDetectors () const
 
void Print (Option_t *option="") const override
 
void RehashParentList ()
 
virtual void Remove (KVBase *)
 
void SetOwnsDaughters (Bool_t yes=kTRUE)
 
void SetOwnsDetectors (Bool_t yes=kTRUE)
 
void Sort (Bool_t order=kSortAscending)
 
void SortDetectors (Bool_t order=kSortAscending)
 
void SortStructures (Bool_t order=kSortAscending)
 
- 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...
 
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 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
 

Static Public Member Functions

static TGeoHMatrixGetFAZIAVolumePositioningMatrix (Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr)
 
- Static Public Member Functions inherited from KVMultiDetArray
static TGeoHMatrixGetVolumePositioningMatrix (Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr)
 
static KVMultiDetArrayMakeMultiDetector (const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray")
 
static void SetMakeMultiDetectorPhysicsParametersOnly (Bool_t 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)
 

Private Member Functions

virtual void BuildFAZIA ()
 methods to be implemented in child classes More...
 
virtual void BuildTarget ()
 
void copy_fired_parameters_to_recon_param_list () override
 
void CreateCorrespondence ()
 
virtual void DefineStructureFormats (KVGeoImport &)
 
void GenerateCorrespondanceFile ()
 
virtual void GetGeometryParameters ()
 Called by the Build method. More...
 
UChar_t GetNormalCalibrationCode () const override
 
TString GetSignalName (Int_t bb, Int_t qq, Int_t tt, Int_t idsig)
 
Bool_t handle_raw_data_event_mfmframe (const MFMCommonFrame &) override
 
Bool_t handle_raw_data_event_protobuf (KVProtobufDataReader &) override
 
void PerformClosedROOTGeometryOperations () override
 
void prepare_to_handle_new_raw_data ()
 
void ReadTriggerPatterns (KVExpDB *db)
 
void SetIDCodeForIDTelescope (KVIDTelescope *) const override
 Set the FAZIA-specific general identification code for the given telescope. More...
 
virtual void SetNameOfDetectors (KVEnv &env)
 
void SetTriggerPattern (uint16_t fp)
 
void SetTriggerPatternsForDataSet (const TString &dataset)
 
Bool_t treat_event (const DAQ::FzEvent &)
 Read raw data for an event. More...
 
Double_t TreatEnergy (Int_t sigid, Int_t eid, UInt_t val)
 

Private Attributes

TString fCorrespondanceFile
 Bool_t fBuildTarget; //kTRUE to include target frame in the geometry. More...
 
KVString fDetectorLabels
 
Double_t fFDist
 distance of FAZIA detectors from target (in cm) More...
 
TString fFGeoType
 type of FAZIA geometry (="compact",...) More...
 
Double_t fFThetaMin
 minimum polar angle for compact geometry (in degrees) More...
 
Double_t fImport_dPhi
 for geometry import More...
 
Double_t fImport_dTheta
 for geometry import More...
 
Double_t fImport_PhiMax
 for geometry import More...
 
Double_t fImport_PhiMin
 for geometry import More...
 
Double_t fImport_ThetaMax
 for geometry import More...
 
Double_t fImport_ThetaMin
 for geometry import More...
 
Double_t fImport_Xorg
 for geometry import More...
 
Double_t fImport_Yorg
 for geometry import More...
 
Double_t fImport_Zorg
 for geometry import More...
 
Int_t fNblocks
 number of blocks More...
 
Double_t fQ2risetime
 
Double_t fQ3fastrisetime
 
Double_t fQ3slowrisetime
 
Double_t fQH1risetime
 values of trapezoidal filter rise time set in the fpgas defined in .kvrootrc More...
 
int fQuartet [8][2]
 quartet number from #FEE and #FPGA More...
 
KVString fSignalTypes
 
Int_t fStartingBlockNumber
 
int fTelescope [8][2]
 telescope number from #FEE and #FPGA More...
 
KVFAZIATrigger fTrigger
 trigger pattern read from data for each event More...
 
double oldfaziats = -1.
 dummy ts to control trigger info transmission rate More...
 

Additional Inherited Members

- 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
 

Member Enumeration Documentation

◆ ECodes

Calibration quality codes attributed to particles reconstructed from data.

Enumerator
NO_CALIBRATION_ATTEMPTED 

particle stopped in detectors with no available calibration

NORMAL_CALIBRATION 

normal well-calibrated particle with no problems

SOME_ENERGY_LOSSES_CALCULATED 

particle calibration OK, with some detector energies calculated

WARNING_CSI_MAX_ENERGY 

particle calibration OK, although apparent energy would mean punching through the CsI

ENERGY_LOSSES_TENTATIVELY_CALCULATED 

particle calibration OK, with some detector energies tentatively calculated (Z<2)

Definition at line 190 of file KVFAZIA.h.

◆ IDCodes

Identification quality codes attributed to particles reconstructed from data.

Enumerator
NO_IDENTIFICATION 

no identification possible for particle

ID_GAMMA 

'gamma' particle identified by pulse shape analysis in CSI

ID_SI1_PSA 

particle identified by pulse shape analysis in SI1

ID_SI1_SI2 

particle identified in SI1-SI2 telescope

ID_SI1_CSI 

particle identified in SI1-SI2 telescope

ID_SI2_PSA 

particle identified by pulse shape analysis in SI1

ID_SI2_CSI 

particle identified in SI2-CSI telescope

ID_SI12_CSI 

particle identified in (SI1+SI2)-CSI telescope

ID_CSI_PSA 

particle identified by pulse shape analysis in CSI

ID_STOPPED_IN_FIRST_STAGE 

particle stopped in SI1, no identification possible better than estimation of minimum Z

ID_SI1_SI2_MAYBE_PUNCH_THROUGH 

possible ambiguity of particle identification in SI1-SI2 due to unvetoed punch-through

ID_SI1_SI2_PUNCH_THROUGH 

particle punching through SI2, identified Z is a minimum value

ID_SI1_PUNCH_THROUGH 

particle partially identified by pulse shape analysis in SI1, although it is punching through (no SI2 signal or SI1-SI2 id)

ID_INCOHERENT 

particle with incoherent identifications (CCode>=0)

Definition at line 129 of file KVFAZIA.h.

Constructor & Destructor Documentation

◆ KVFAZIA()

KVFAZIA::KVFAZIA ( const Char_t title = "")

Default constructor.

Definition at line 51 of file KVFAZIA.cpp.

◆ ~KVFAZIA()

KVFAZIA::~KVFAZIA ( )
virtual

Destructor.

Definition at line 293 of file KVFAZIA.cpp.

Member Function Documentation

◆ AddDetectorLabel()

void KVFAZIA::AddDetectorLabel ( const Char_t label)

Definition at line 304 of file KVFAZIA.cpp.

◆ Build()

void KVFAZIA::Build ( Int_t  = -1)
overridevirtual

Build the FAZIA array.

Reimplemented from KVMultiDetArray.

Definition at line 515 of file KVFAZIA.cpp.

◆ BuildFAZIA()

void KVFAZIA::BuildFAZIA ( )
privatevirtual

methods to be implemented in child classes

Called by the Build method.

Reimplemented in KVISOFAZIA, KVFAZIETO, KVFAZIAZERO, KVFAZIASYM, KVFAZIANFS, KVFAZIAMidRapExplorer, KVFAZIALNS2016, KVFAZIALNS17, KVFAZIACOR, and KVFAZIA_2B.

Definition at line 481 of file KVFAZIA.cpp.

◆ BuildTarget()

void KVFAZIA::BuildTarget ( )
privatevirtual

Reimplemented in KVFAZIANFS.

Definition at line 492 of file KVFAZIA.cpp.

◆ copy_fired_parameters_to_recon_param_list()

void KVFAZIA::copy_fired_parameters_to_recon_param_list ( )
inlineoverrideprivatevirtual

override KVMultiDetArray method. raw data signals are not copied to the general (event) parameter list, they are stored in the lists of the individual particles and reset in the detectors when the particles are read back.

the formatting of the signal names is not compatible with the code in KVReconstructedEvent::Streamer, hence the FAZIA-specific treatment which is handled by KVFAZIA::FillDetectorList.

Reimplemented from KVMultiDetArray.

Definition at line 88 of file KVFAZIA.h.

◆ CreateCorrespondence()

void KVFAZIA::CreateCorrespondence ( )
private

set up correspondence between FPGA number/FEE number (from acquisition) and Quartet/Telescope numbers

Definition at line 934 of file KVFAZIA.cpp.

◆ DeduceIdentificationTelescopesFromGeometry()

void KVFAZIA::DeduceIdentificationTelescopesFromGeometry ( )
overridevirtual

Set identification telescope objects for FAZIA geometry by hand.

The actual telescope classes used depends on the value of the variable:

[dataset].FAZIA.IDTelescopes

which can be different for different datasets.

The default value is

FAZIA.IDTelescopes: SI1-PSA SI1-SI2 SI2-CSI CSI-PSA

The possible values are:

  • CSI-PSA
  • SI2-CSI
  • SI1+SI2-CSI (name: ID_SI_CSI_xxxx)
  • SI2-PSA
  • SI1-SI2
  • SI1-PSA

Reimplemented from KVMultiDetArray.

Definition at line 180 of file KVFAZIA.cpp.

◆ DefineStructureFormats()

virtual void KVFAZIA::DefineStructureFormats ( KVGeoImport )
inlineprivatevirtual

Reimplemented in KVFAZIAZERO, KVFAZIASYM, KVFAZIALNS2016, KVFAZIALNS17, and KVFAZIACOR.

Definition at line 83 of file KVFAZIA.h.

◆ FillDetectorList()

void KVFAZIA::FillDetectorList ( KVReconstructedNucleus rnuc,
KVHashList DetList,
const KVString DetNames 
)
overridevirtual

Protected method, called when required to fill fDetList with pointers to the detectors whose names are stored in fDetNames. Also set all raw data values in the detectors.

Reimplemented from KVMultiDetArray.

Definition at line 596 of file KVFAZIA.cpp.

◆ GenerateCorrespondanceFile()

void KVFAZIA::GenerateCorrespondanceFile ( )
private

Look for the geometry object <-> detector name correspondance file in the dataset directory If not found, we create it

Definition at line 316 of file KVFAZIA.cpp.

◆ GetBadIDCode()

UShort_t KVFAZIA::GetBadIDCode ( ) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Definition at line 152 of file KVFAZIA.h.

◆ GetDetectorEvent()

void KVFAZIA::GetDetectorEvent ( KVDetectorEvent detev,
const TSeqCollection dets 
)
overridevirtual

First step in event reconstruction based on current status of detectors in array.

Fills the given KVDetectorEvent with the list of all groups which have fired. i.e. loop over all groups of the array and test whether KVGroup::Fired() returns true or false.

This can be made more efficient if the detectors which were hit in the event are already known: then their list should be given to argument dets

If the list of fired detectors dets is not given, we use the internal fFiredDetectors list which is filled with all hit detectors when raw data is treated in treat_event()

Reimplemented from KVMultiDetArray.

Definition at line 550 of file KVFAZIA.cpp.

◆ GetDetectorLabels()

KVString KVFAZIA::GetDetectorLabels ( ) const
inline

Definition at line 234 of file KVFAZIA.h.

◆ GetECodeMeaning()

TString KVFAZIA::GetECodeMeaning ( Int_t  ec) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Examples
ExampleE789ReconAnalysis.cpp.

Definition at line 200 of file KVFAZIA.h.

◆ GetFAZIAVolumePositioningMatrix()

static TGeoHMatrix* KVFAZIA::GetFAZIAVolumePositioningMatrix ( Double_t  distance,
Double_t  theta,
Double_t  phi,
TGeoTranslation postTrans = nullptr 
)
inlinestatic

Method for positioning FAZIA detectors/blocks

Given:

distance [cm] = distance from target (origin) to the CENTRE of the volume in position theta [deg] = polar angle of vector from target to centre of volume in position phi [deg] = azimuthal angle of vector

this method generates the matrix which is required to position the volume as required while also turning the volume so that the side nearest the target (i.e. the entrance window of the detector) remains perpendicular to the vector joining the origin and the centre of the volume.

If required, a further translation can be given which will be applied to the volume after it has been placed with the required orientation at the nominal distance. This can be used e.g. for detector misalignment, when detectors are in a structure which guarantees their line of sight to be orthogonal to their surface at a nominal distance, but the nominal distance is not respected.

This method is different to the more general KVMultiDetArray::GetVolumePositioningMatrix() method, which also changes the orientation of detectors depending on phi: with that method, a detector at phi=180 deg. is "upside-down" compared to the same detector at phi=0. Obviously, this is not desirable for FAZIA blocks!

Definition at line 273 of file KVFAZIA.h.

◆ GetGeometryParameters()

void KVFAZIA::GetGeometryParameters ( )
privatevirtual

Called by the Build method.

Reimplemented in KVISOFAZIA, KVFAZIETO, KVFAZIAZERO, KVFAZIASYM, KVFAZIANFS, KVFAZIAMidRapExplorer, KVFAZIALNS2016, KVFAZIALNS17, KVFAZIACOR, and KVFAZIA_2B.

Definition at line 416 of file KVFAZIA.cpp.

◆ GetIDCodeForParticlesStoppingInFirstStageOfTelescopes()

Int_t KVFAZIA::GetIDCodeForParticlesStoppingInFirstStageOfTelescopes ( ) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Definition at line 148 of file KVFAZIA.h.

◆ GetIDCodeMeaning()

TString KVFAZIA::GetIDCodeMeaning ( Int_t  idc) const
inlineoverridevirtual

Reimplemented from KVMultiDetArray.

Examples
ExampleE789ReconAnalysis.cpp.

Definition at line 157 of file KVFAZIA.h.

◆ GetNormalCalibrationCode()

UChar_t KVFAZIA::GetNormalCalibrationCode ( ) const
inlineoverrideprivatevirtual

The following methods are used by the current implementation of the filter. They should be removed in future implementations.

return a general calibration code for correctly calibrated particles

Reimplemented from KVMultiDetArray.

Definition at line 123 of file KVFAZIA.h.

◆ GetNumberOfBlocks()

Int_t KVFAZIA::GetNumberOfBlocks ( ) const
inline

Definition at line 225 of file KVFAZIA.h.

◆ GetReconstructorForGroup()

KVGroupReconstructor * KVFAZIA::GetReconstructorForGroup ( const KVGroup g) const
overridevirtual

Specialized group reconstructor for FAZIA.

Reimplemented from KVMultiDetArray.

Definition at line 644 of file KVFAZIA.cpp.

◆ GetSetupParameter()

Double_t KVFAZIA::GetSetupParameter ( const Char_t parname)

Definition at line 75 of file KVFAZIA.cpp.

◆ GetSignalName()

TString KVFAZIA::GetSignalName ( Int_t  bb,
Int_t  qq,
Int_t  tt,
Int_t  idsig 
)
private

Definition at line 661 of file KVFAZIA.cpp.

◆ GetSignalTypes()

const Char_t* KVFAZIA::GetSignalTypes ( ) const
inline

Definition at line 238 of file KVFAZIA.h.

◆ GetTrigger()

const KVFAZIATrigger& KVFAZIA::GetTrigger ( ) const
inline

Definition at line 263 of file KVFAZIA.h.

◆ GetTriggerForCurrentRun()

std::string KVFAZIA::GetTriggerForCurrentRun ( ) const

Returns the symbolic name for the principal DAQ trigger used for the current run e.g. 'Mult2', 'Mult1/100', etc. (see SetTriggerPatternsForDataSet()).

This can be used to test if the actual DAQ trigger for an event was consistent with the principal trigger by doing:

if( gFazia->GetTrigger().IsTrigger( gFazia->GetTriggerForCurrentRun() ) )
{
===ok in this case trigger is consistent==
}
bool IsTrigger(TriggerPattern tp) const
std::string GetTriggerForCurrentRun() const
Definition: KVFAZIA.cpp:126
const KVFAZIATrigger & GetTrigger() const
Definition: KVFAZIA.h:263

Definition at line 126 of file KVFAZIA.cpp.

◆ handle_raw_data_event_mfmframe()

Bool_t KVFAZIA::handle_raw_data_event_mfmframe ( const MFMCommonFrame &  f)
overrideprivatevirtual

Treatment of raw data in MFM frames with type MFM_FAZIA_FRAME_TYPE The timestamp is extracted from the frame header and added to fReconParameters in a 64 bit parameter with name "FAZIA.TS"

Reimplemented from KVMultiDetArray.

Definition at line 897 of file KVFAZIA.cpp.

◆ handle_raw_data_event_protobuf()

Bool_t KVFAZIA::handle_raw_data_event_protobuf ( KVProtobufDataReader R)
overrideprivatevirtual

Reimplemented from KVMultiDetArray.

Definition at line 693 of file KVFAZIA.cpp.

◆ IncludeTargetInGeometry()

void KVFAZIA::IncludeTargetInGeometry ( Bool_t  include = kTRUE)
inline

Definition at line 229 of file KVFAZIA.h.

◆ MakeCalibrationTables()

void KVFAZIA::MakeCalibrationTables ( KVExpDB db)
overridevirtual

Override base method in order to read FAZIA trigger for each run.

Reimplemented from KVMultiDetArray.

Definition at line 102 of file KVFAZIA.cpp.

◆ PerformClosedROOTGeometryOperations()

void KVFAZIA::PerformClosedROOTGeometryOperations ( )
overrideprivatevirtual

Finalise description of array performing all operations which require ROOT geometry to be closed

Reimplemented from KVMultiDetArray.

Definition at line 385 of file KVFAZIA.cpp.

◆ prepare_to_handle_new_raw_data()

void KVFAZIA::prepare_to_handle_new_raw_data ( )
inlineprivate

Override base method to reset trigger pattern before reading new raw event

Definition at line 113 of file KVFAZIA.h.

◆ ReadTriggerPatterns()

void KVFAZIA::ReadTriggerPatterns ( KVExpDB db)
private

Read a file containing runlists for each principal trigger used during an experiment

The file should be in TEnv format like so:

Mult1: 100-122,541-1938
Mult2: 91-765

where each trigger pattern name must be known and declared to occur during the dataset (see SetTriggerPatternsForDataSet()) and the list of runs are given using KVNumberList syntax.

The data is added to the database in a table 'FAZIA.Triggers'.

Definition at line 979 of file KVFAZIA.cpp.

◆ SetGeometryImportParameters()

void KVFAZIA::SetGeometryImportParameters ( Double_t  dt = 0.25,
Double_t  dp = 1.0,
Double_t  tmin = 2.,
Double_t  pmin = 0,
Double_t  tmax = 20.,
Double_t  pmax = 360.,
Double_t  xorg = 0,
Double_t  yorg = 0,
Double_t  zorg = 0 
)
inline

Set angular arguments for call to KVGeoImport::ImportGeometry in KVFAZIA::Build Also set origin for geometry import to (xorg,yorg,zorg) [default: (0,0,0)]

Definition at line 243 of file KVFAZIA.h.

◆ SetIDCodeForIDTelescope()

void KVFAZIA::SetIDCodeForIDTelescope ( KVIDTelescope idt) const
overrideprivatevirtual

Set the FAZIA-specific general identification code for the given telescope.

Reimplemented from KVMultiDetArray.

Definition at line 1022 of file KVFAZIA.cpp.

◆ SetNameOfDetectors()

void KVFAZIA::SetNameOfDetectors ( KVEnv env)
privatevirtual

define the format of detectors name label-index where index = block*100+quartet*10+telescope example : SI1-123 is the Silicon 1 of the block 1, the quartet 2 and the telescope 3

Reimplemented in KVFAZIAZERO, KVFAZIASYM, KVFAZIANFS, KVFAZIALNS2016, KVFAZIALNS17, KVFAZIACOR, and KVFAZIAMidRapExplorer.

Definition at line 354 of file KVFAZIA.cpp.

◆ SetRawDataFromReconEvent()

void KVFAZIA::SetRawDataFromReconEvent ( KVNameValueList l)
overridevirtual

Overrides base method in order to set the value of the trigger bit pattern for the event.

Reimplemented from KVMultiDetArray.

Definition at line 89 of file KVFAZIA.cpp.

◆ SetTriggerPattern()

void KVFAZIA::SetTriggerPattern ( uint16_t  fp)
inlineprivate

Definition at line 69 of file KVFAZIA.h.

◆ SetTriggerPatternsForDataSet()

void KVFAZIA::SetTriggerPatternsForDataSet ( const TString dataset)
private

Read and set up definitions of trigger patterns for this dataset. These should be given by variables such as:

+[dataset].FAZIA.TriggerPatterns: [name1]
[dataset].FAZIA.TriggerPattern.[name1]: [value1]
+[dataset].FAZIA.TriggerPatterns: [name2]
[dataset].FAZIA.TriggerPattern.[name2]: [value2]

where [name*]='Mult1','Mult1/100','Mult2', etc. (see KVFAZIATrigger for known trigger patterns).

and [value*] is the value of the corresponding bit pattern, e.g. if bit '3' (0b100) corresponds to 'Mult2' (i.e. multiplicity >= 2) then this would give

[dataset].FAZIA.TriggerPattern.Mult2: 4

Definition at line 444 of file KVFAZIA.cpp.

◆ treat_event()

Bool_t KVFAZIA::treat_event ( const DAQ::FzEvent &  e)
private

Read raw data for an event.

Definition at line 733 of file KVFAZIA.cpp.

◆ TreatEnergy()

Double_t KVFAZIA::TreatEnergy ( Int_t  sigid,
Int_t  eid,
UInt_t  val 
)
private

Definition at line 702 of file KVFAZIA.cpp.

Member Data Documentation

◆ fCorrespondanceFile

TString KVFAZIA::fCorrespondanceFile
private

Bool_t fBuildTarget; //kTRUE to include target frame in the geometry.

name of the file where are listed links between geometry and detector names

Definition at line 41 of file KVFAZIA.h.

◆ fDetectorLabels

KVString KVFAZIA::fDetectorLabels
private

Definition at line 42 of file KVFAZIA.h.

◆ fFDist

Double_t KVFAZIA::fFDist
private

distance of FAZIA detectors from target (in cm)

Definition at line 36 of file KVFAZIA.h.

◆ fFGeoType

TString KVFAZIA::fFGeoType
private

type of FAZIA geometry (="compact",...)

Definition at line 35 of file KVFAZIA.h.

◆ fFThetaMin

Double_t KVFAZIA::fFThetaMin
private

minimum polar angle for compact geometry (in degrees)

Definition at line 37 of file KVFAZIA.h.

◆ fImport_dPhi

Double_t KVFAZIA::fImport_dPhi
private

for geometry import

Definition at line 45 of file KVFAZIA.h.

◆ fImport_dTheta

Double_t KVFAZIA::fImport_dTheta
private

for geometry import

Definition at line 44 of file KVFAZIA.h.

◆ fImport_PhiMax

Double_t KVFAZIA::fImport_PhiMax
private

for geometry import

Definition at line 49 of file KVFAZIA.h.

◆ fImport_PhiMin

Double_t KVFAZIA::fImport_PhiMin
private

for geometry import

Definition at line 48 of file KVFAZIA.h.

◆ fImport_ThetaMax

Double_t KVFAZIA::fImport_ThetaMax
private

for geometry import

Definition at line 47 of file KVFAZIA.h.

◆ fImport_ThetaMin

Double_t KVFAZIA::fImport_ThetaMin
private

for geometry import

Definition at line 46 of file KVFAZIA.h.

◆ fImport_Xorg

Double_t KVFAZIA::fImport_Xorg
private

for geometry import

Definition at line 50 of file KVFAZIA.h.

◆ fImport_Yorg

Double_t KVFAZIA::fImport_Yorg
private

for geometry import

Definition at line 51 of file KVFAZIA.h.

◆ fImport_Zorg

Double_t KVFAZIA::fImport_Zorg
private

for geometry import

Definition at line 52 of file KVFAZIA.h.

◆ fNblocks

Int_t KVFAZIA::fNblocks
private

number of blocks

Definition at line 38 of file KVFAZIA.h.

◆ fQ2risetime

Double_t KVFAZIA::fQ2risetime
private

Definition at line 58 of file KVFAZIA.h.

◆ fQ3fastrisetime

Double_t KVFAZIA::fQ3fastrisetime
private

Definition at line 60 of file KVFAZIA.h.

◆ fQ3slowrisetime

Double_t KVFAZIA::fQ3slowrisetime
private

Definition at line 59 of file KVFAZIA.h.

◆ fQH1risetime

Double_t KVFAZIA::fQH1risetime
private

values of trapezoidal filter rise time set in the fpgas defined in .kvrootrc

Definition at line 57 of file KVFAZIA.h.

◆ fQuartet

int KVFAZIA::fQuartet[8][2]
private

quartet number from #FEE and #FPGA

Definition at line 53 of file KVFAZIA.h.

◆ fSignalTypes

KVString KVFAZIA::fSignalTypes
private

Definition at line 43 of file KVFAZIA.h.

◆ fStartingBlockNumber

Int_t KVFAZIA::fStartingBlockNumber
private

starting number of block incrementation

Definition at line 39 of file KVFAZIA.h.

◆ fTelescope

int KVFAZIA::fTelescope[8][2]
private

telescope number from #FEE and #FPGA

Definition at line 54 of file KVFAZIA.h.

◆ fTrigger

KVFAZIATrigger KVFAZIA::fTrigger
private

trigger pattern read from data for each event

Definition at line 63 of file KVFAZIA.h.

◆ oldfaziats

double KVFAZIA::oldfaziats = -1.
private

dummy ts to control trigger info transmission rate

Definition at line 66 of file KVFAZIA.h.