KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches
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.
 
virtual ~KVFAZIA ()
 Destructor.
 
void AddDetectorLabel (const Char_t *label)
 
virtual void Build (Int_t=-1)
 Build the FAZIA array.
 
void DeduceIdentificationTelescopesFromGeometry ()
 
void FillDetectorList (KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
 
void GetDetectorEvent (KVDetectorEvent *detev, const TSeqCollection *dets)
 
KVString GetDetectorLabels () const
 
TString GetECodeMeaning (Int_t ec) const
 
virtual Int_t GetIDCodeForParticlesStoppingInFirstStageOfTelescopes () const
 
TString GetIDCodeMeaning (Int_t idc) const
 
Int_t GetNumberOfBlocks () const
 
KVGroupReconstructorGetReconstructorForGroup (const KVGroup *) const
 Specialized group reconstructor for FAZIA.
 
Double_t GetSetupParameter (const Char_t *parname)
 
const Char_tGetSignalTypes () const
 
const KVFAZIATriggerGetTrigger () const
 
std::string GetTriggerForCurrentRun () const
 
void IncludeTargetInGeometry (Bool_t include=kTRUE)
 
virtual void MakeCalibrationTables (KVExpDB *)
 Override base method in order to read FAZIA trigger for each run.
 
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)
 
virtual void SetRawDataFromReconEvent (KVNameValueList &)
 Overrides base method in order to set the value of the trigger bit pattern for the event.
 
- Public Member Functions inherited from KVMultiDetArray
 KVMultiDetArray ()
 Default constructor.
 
 KVMultiDetArray (const Char_t *name, const Char_t *type="")
 Constructor with name and optional type.
 
virtual ~KVMultiDetArray ()
 destroy (delete) the MDA and all the associated structure, detectors etc.
 
virtual void AcceptAllECodes ()
 
virtual void AcceptAllIDCodes ()
 
void AcceptECodes (const KVNumberList &codelist)
 
void AcceptIDCodes (const KVNumberList &codelist)
 
virtual void AcceptParticleForAnalysis (KVReconstructedNucleus *) const
 
virtual void AnalyseGroupAndReconstructEvent (KVReconstructedEvent *recev, KVGroup *grp)
 
void CalculateDetectorSegmentationIndex ()
 
void CalculateIdentificationGrids ()
 For each IDtelescope in array, calculate an identification grid.
 
Bool_t CalParamsSet ()
 
void CheckROOTGeometry ()
 
void CheckStatusOfDetectors (KVDBRun *, const TString &="")
 
virtual void Clear (Option_t *opt="")
 
void CreateGeoManager (Double_t dx=500, Double_t dy=500, Double_t dz=500)
 
virtual void CreateIDTelescopesInGroups ()
 
virtual void DetectEvent (KVEvent *event, KVReconstructedEvent *rec_event, const Char_t *detection_frame="")
 
virtual KVNameValueListDetectParticle (KVNucleus *part)
 
KVNameValueListDetectParticle_TGEO (KVNucleus *part)
 
void DetectParticleIn (const Char_t *detname, KVNucleus *kvp)
 
void Draw (Option_t *option="")
 
virtual TGraphDrawPunchThroughEnergyVsZ (const Char_t *detector, Int_t massform=KVNucleus::kBetaMass)
 
virtual TGraphDrawPunchThroughEsurAVsZ (const Char_t *detector, Int_t massform=KVNucleus::kBetaMass)
 
virtual TGraphDrawPunchThroughZVsVpar (const Char_t *detector, Int_t massform=KVNucleus::kBetaMass)
 
void FillHistogramsForAllIDTelescopes (KVSeqCollection *list)
 Fill TH2F histograms for all IDTelescopes of the array.
 
void FillListOfIDTelescopes (KVIDGraph *gr) const
 
virtual Int_t FilteredEventCoherencyAnalysis (Int_t round, KVReconstructedEvent *rec_event)
 
const KVNumberListGetAcceptedECodes () const
 
const KVNumberListGetAcceptedIDCodes () const
 
virtual KVMultiDetArrayGetArray (const Char_t *) const
 
TListGetCalibrationStatusOfDetectors ()
 
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.
 
virtual KVGroupGetGroup (const Char_t *) const
 Return pointer to group with name.
 
virtual KVGroupGetGroupWithAngles (Float_t, Float_t)
 
virtual KVGroupGetGroupWithDetector (const Char_t *)
 
KVIDTelescopeGetIDTelescope (const Char_t *name) const
 Return pointer to DeltaE-E ID Telescope with "name".
 
KVSeqCollectionGetIDTelescopesWithType (const Char_t *type)
 
KVUniqueNameListGetIDTelescopeTypes ()
 
KVSeqCollectionGetListOfIDTelescopes () const
 
KVGeoNavigatorGetNavigator () const
 
Int_t GetNumberOfGroups () const
 
virtual const Char_tGetPartSeedCond () const
 
virtual Double_t GetPunchThroughEnergy (const Char_t *detector, Int_t Z, Int_t A)
 
KVNameValueListGetReconParameters ()
 
const KVNameValueListGetReconParameters () const
 
TListGetStatusOfIDTelescopes ()
 
KVTargetGetTarget ()
 
virtual Double_t GetTargetEnergyLossCorrection (KVReconstructedNucleus *)
 
virtual KVTelescopeGetTelescope (const Char_t *name) const
 Return pointer to telescope in array with name given by "name".
 
virtual Double_t GetTotalSolidAngle (void) const
 
const TSeqCollectionGetTrajectories () const
 
KVUpDaterGetUpDater ()
 
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 IsROOTGeometry () const
 
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
 
void PrintCalibStatusOfDetectors ()
 
void PrintStatusOfIDTelescopes ()
 
Bool_t ReadGridsFromAsciiFile (const Char_t *) const
 
virtual void ReconstructEvent (KVReconstructedEvent *, KVDetectorEvent *)
 
void RecursiveTrajectoryClustering (KVGeoDetectorNode *N, KVUniqueNameList &tried_trajectories, KVUniqueNameList &multitraj_nodes, KVUniqueNameList &detectors_of_group)
 
void RemoveGroup (const Char_t *)
 
void RemoveGroup (KVGroup *)
 
void ReplaceDetector (const Char_t *name, KVDetector *new_kvd)
 
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.
 
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.
 
virtual void SetROOTGeometry (Bool_t on=kTRUE)
 
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.
 
 KVGeoStrucElement (const Char_t *name, const Char_t *type="")
 Create a geometry structure element with given name and type.
 
virtual ~KVGeoStrucElement ()
 Destructor.
 
virtual void Add (KVBase *)
 
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
 
KVDetectorGetDetector (const Char_t *name) const
 Return detector in this structure with given name.
 
KVDetectorGetDetectorAny (const Char_t *name)
 
KVDetectorGetDetectorByType (const Char_t *type) const
 Return detector in this structure with given type.
 
KVSeqCollectionGetDetectorNameList (const Char_t *name) const
 
KVSeqCollectionGetDetectors ()
 
const KVSeqCollectionGetDetectors () const
 
KVSeqCollectionGetDetectorTypeList (const Char_t *type) const
 
const KVSeqCollectionGetParents () 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.
 
KVGeoStrucElementGetStructure (const Char_t *type, Int_t num) const
 Get structure with type and number.
 
const KVSeqCollectionGetStructures () const
 
KVSeqCollectionGetStructureTypeList (const Char_t *type) const
 
bool OwnsDaughters () const
 
bool OwnsDetectors () const
 
void Print (Option_t *option="") const
 
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.
 
 KVBase (const Char_t *name, const Char_t *title="")
 Ctor for object with given name and type.
 
 KVBase (const KVBase &)
 copy ctor
 
virtual ~KVBase ()
 
virtual void Copy (TObject &) const
 Make a copy of this object.
 
const Char_tGetLabel () const
 
UInt_t GetNumber () const
 
UInt_t GetNumberOfObjects () 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
 
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 ()
 
void Clear (Option_t *option="") override
 
TObjectClone (const char *newname="") const override
 
Int_t Compare (const TObject *obj) const override
 
void Copy (TObject &named) 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)
 
void Print (Option_t *option="") const override
 
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
 

Private Member Functions

virtual void BuildFAZIA ()
 methods to be implemented in child classes
 
virtual void BuildTarget ()
 
void copy_fired_parameters_to_recon_param_list ()
 
void CreateCorrespondence ()
 
virtual void DefineStructureFormats (KVGeoImport &)
 
void GenerateCorrespondanceFile ()
 
virtual void GetGeometryParameters ()
 Called by the Build method.
 
virtual UChar_t GetNormalCalibrationCode ()
 
TString GetSignalName (Int_t bb, Int_t qq, Int_t tt, Int_t idsig)
 
Bool_t handle_raw_data_event_mfmframe (const MFMCommonFrame &)
 
Bool_t handle_raw_data_event_protobuf (KVProtobufDataReader &)
 
void PerformClosedROOTGeometryOperations ()
 
void prepare_to_handle_new_raw_data ()
 
void ReadTriggerPatterns (KVExpDB *db)
 
void SetIDCodeForIDTelescope (KVIDTelescope *) const
 Set the FAZIA-specific general identification code for the given telescope.
 
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.
 
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.
 
KVString fDetectorLabels
 
Double_t fFDist
 distance of FAZIA detectors from target (in cm)
 
TString fFGeoType
 type of FAZIA geometry (="compact",...)
 
Double_t fFThetaMin
 minimum polar angle for compact geometry (in degrees)
 
Double_t fImport_dPhi
 for geometry import
 
Double_t fImport_dTheta
 for geometry import
 
Double_t fImport_PhiMax
 for geometry import
 
Double_t fImport_PhiMin
 for geometry import
 
Double_t fImport_ThetaMax
 for geometry import
 
Double_t fImport_ThetaMin
 for geometry import
 
Double_t fImport_Xorg
 for geometry import
 
Double_t fImport_Yorg
 for geometry import
 
Double_t fImport_Zorg
 for geometry import
 
Int_t fNblocks
 number of blocks
 
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
 
int fQuartet [8][2]
 quartet number from #FEE and #FPGA
 
KVString fSignalTypes
 
Int_t fStartingBlockNumber
 
int fTelescope [8][2]
 telescope number from #FEE and #FPGA
 
KVFAZIATrigger fTrigger
 trigger pattern read from data for each event
 
double oldfaziats = -1.
 dummy ts to control trigger info transmission rate
 

Additional Inherited Members

- 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.
 
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 Char_t *class_name, KVString &imp_file, KVString &dec_file, const Char_t *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 Bool_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval)
 
static const Char_tGetDataSetEnv (const Char_t *dataset, const Char_t *type, const Char_t *defval)
 
static Double_t GetDataSetEnv (const Char_t *dataset, const Char_t *type, Double_t 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.)
 
static const Char_tGetINCDIRFilePath (const Char_t *namefile="")
 
static const Char_tGetKVBuildDate ()
 Returns KaliVeda build date.
 
static const Char_tGetKVBuildDir ()
 Returns top-level directory used for build.
 
static const Char_tGetKVBuildTime ()
 Returns KaliVeda build time.
 
static const Char_tGetKVBuildType ()
 Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...)
 
static const Char_tGetKVBuildUser ()
 Returns username of person who performed build.
 
static const Char_tGetKVSourceDir ()
 Returns top-level directory of source tree used for build.
 
static const Char_tGetKVVersion ()
 Returns KaliVeda version string.
 
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.
 
static const Char_tgitCommit ()
 Returns last git commit of sources.
 
static void InitEnvironment ()
 
static bool is_gnuinstall ()
 
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.
 
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
 

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 181 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 54 of file KVFAZIA.cpp.

◆ ~KVFAZIA()

KVFAZIA::~KVFAZIA ( )
virtual

Destructor.

Definition at line 243 of file KVFAZIA.cpp.

Member Function Documentation

◆ AddDetectorLabel()

void KVFAZIA::AddDetectorLabel ( const Char_t label)

Definition at line 254 of file KVFAZIA.cpp.

◆ Build()

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

Build the FAZIA array.

Reimplemented from KVMultiDetArray.

Definition at line 465 of file KVFAZIA.cpp.

◆ BuildFAZIA()

void KVFAZIA::BuildFAZIA ( )
privatevirtual

methods to be implemented in child classes

Called by the Build method.

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

Definition at line 431 of file KVFAZIA.cpp.

◆ BuildTarget()

void KVFAZIA::BuildTarget ( )
privatevirtual

Reimplemented in KVFAZIANFS.

Definition at line 442 of file KVFAZIA.cpp.

◆ copy_fired_parameters_to_recon_param_list()

void KVFAZIA::copy_fired_parameters_to_recon_param_list ( )
inlineprivatevirtual

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 882 of file KVFAZIA.cpp.

◆ DeduceIdentificationTelescopesFromGeometry()

void KVFAZIA::DeduceIdentificationTelescopesFromGeometry ( )
virtual

Set identification telescope objects for FAZIA geometry by hand.

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

Reimplemented from KVMultiDetArray.

Definition at line 167 of file KVFAZIA.cpp.

◆ DefineStructureFormats()

virtual void KVFAZIA::DefineStructureFormats ( KVGeoImport )
inlineprivatevirtual

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

Definition at line 83 of file KVFAZIA.h.

◆ FillDetectorList()

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

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 546 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 266 of file KVFAZIA.cpp.

◆ GetDetectorEvent()

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

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 fFiredACQParams list which is filled with all hit detectors when raw data is treated in treat_event()

Reimplemented from KVMultiDetArray.

Definition at line 500 of file KVFAZIA.cpp.

◆ GetDetectorLabels()

KVString KVFAZIA::GetDetectorLabels ( ) const
inline

Definition at line 229 of file KVFAZIA.h.

◆ GetECodeMeaning()

TString KVFAZIA::GetECodeMeaning ( Int_t  ec) const
inlinevirtual

Reimplemented from KVMultiDetArray.

Examples
ExampleE789ReconAnalysis.cpp.

Definition at line 191 of file KVFAZIA.h.

◆ GetGeometryParameters()

void KVFAZIA::GetGeometryParameters ( )
privatevirtual

Called by the Build method.

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

Definition at line 366 of file KVFAZIA.cpp.

◆ GetIDCodeForParticlesStoppingInFirstStageOfTelescopes()

virtual Int_t KVFAZIA::GetIDCodeForParticlesStoppingInFirstStageOfTelescopes ( ) const
inlinevirtual

Reimplemented from KVMultiDetArray.

Definition at line 208 of file KVFAZIA.h.

◆ GetIDCodeMeaning()

TString KVFAZIA::GetIDCodeMeaning ( Int_t  idc) const
inlinevirtual

Reimplemented from KVMultiDetArray.

Examples
ExampleE789ReconAnalysis.cpp.

Definition at line 148 of file KVFAZIA.h.

◆ GetNormalCalibrationCode()

virtual UChar_t KVFAZIA::GetNormalCalibrationCode ( )
inlineprivatevirtual

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 220 of file KVFAZIA.h.

◆ GetReconstructorForGroup()

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

Specialized group reconstructor for FAZIA.

Reimplemented from KVMultiDetArray.

Definition at line 594 of file KVFAZIA.cpp.

◆ GetSetupParameter()

Double_t KVFAZIA::GetSetupParameter ( const Char_t parname)

Definition at line 78 of file KVFAZIA.cpp.

◆ GetSignalName()

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

Definition at line 609 of file KVFAZIA.cpp.

◆ GetSignalTypes()

const Char_t * KVFAZIA::GetSignalTypes ( ) const
inline

Definition at line 233 of file KVFAZIA.h.

◆ GetTrigger()

const KVFAZIATrigger & KVFAZIA::GetTrigger ( ) const
inline

Definition at line 258 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
const KVFAZIATrigger & GetTrigger() const
Definition KVFAZIA.h:258
std::string GetTriggerForCurrentRun() const
Definition KVFAZIA.cpp:129

Definition at line 129 of file KVFAZIA.cpp.

◆ handle_raw_data_event_mfmframe()

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

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 845 of file KVFAZIA.cpp.

◆ handle_raw_data_event_protobuf()

Bool_t KVFAZIA::handle_raw_data_event_protobuf ( KVProtobufDataReader R)
privatevirtual

Reimplemented from KVMultiDetArray.

Definition at line 641 of file KVFAZIA.cpp.

◆ IncludeTargetInGeometry()

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

Definition at line 224 of file KVFAZIA.h.

◆ MakeCalibrationTables()

void KVFAZIA::MakeCalibrationTables ( KVExpDB db)
virtual

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

Reimplemented from KVMultiDetArray.

Definition at line 105 of file KVFAZIA.cpp.

◆ PerformClosedROOTGeometryOperations()

void KVFAZIA::PerformClosedROOTGeometryOperations ( )
privatevirtual

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

Reimplemented from KVMultiDetArray.

Definition at line 335 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 927 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 238 of file KVFAZIA.h.

◆ SetIDCodeForIDTelescope()

void KVFAZIA::SetIDCodeForIDTelescope ( KVIDTelescope idt) const
privatevirtual

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

Reimplemented from KVMultiDetArray.

Definition at line 970 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 KVFAZIAMidRapExplorer, KVFAZIACOR, KVFAZIALNS17, KVFAZIALNS2016, KVFAZIANFS, KVFAZIASYM, and KVFAZIAZERO.

Definition at line 304 of file KVFAZIA.cpp.

◆ SetRawDataFromReconEvent()

void KVFAZIA::SetRawDataFromReconEvent ( KVNameValueList l)
virtual

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

Reimplemented from KVMultiDetArray.

Definition at line 92 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 394 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 681 of file KVFAZIA.cpp.

◆ TreatEnergy()

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

Definition at line 650 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.