7#include "KVMultiDetArray.h"
9#include <KVGeoImport.h>
12#include "KVFAZIATrigger.h"
14#if ROOT_VERSION_CODE <= ROOT_VERSION(5,32,0)
152 return "NO_IDENTIFICATION";
166 return "ID_SI12_CSI";
170 return "ID_STOPPED_IN_FIRST_STAGE";
172 return "ID_SI1_SI2_MAYBE_PUNCH_THROUGH";
174 return "ID_SI1_SI2_PUNCH_THROUGH";
176 return "ID_SI1_PUNCH_THROUGH";
178 return Form(
"(unknown:%d)", idc);
195 return "NO_CALIBRATION_ATTEMPTED";
197 return "NORMAL_CALIBRATION";
199 return "SOME_ENERGY_LOSSES_CALCULATED";
201 return "WARNING_CSI_MAX_ENERGY";
203 return "ENERGY_LOSSES_TENTATIVELY_CALCULATED (for Z=1,2 stopped in uncalibrated CsI)";
205 return Form(
"(unknown:%d)", ec);
#define ClassDef(name, id)
char * Form(const char *fmt,...)
List of hit groups in a multidetector array.
Extension of TEnv to allow the writing of comments in the file.
Base class to describe database of an experiment ,,.
The trigger pattern for each FAZIA event.
void SetTriggerPattern(uint16_t tp)
Description of a FAZIA detector geometry.
Double_t fImport_Xorg
for geometry import
Double_t fImport_ThetaMin
for geometry import
Double_t fFDist
distance of FAZIA detectors from target (in cm)
KVGroupReconstructor * GetReconstructorForGroup(const KVGroup *) const
Specialized group reconstructor for FAZIA.
Double_t fQH1risetime
values of trapezoidal filter rise time set in the fpgas defined in .kvrootrc
Double_t TreatEnergy(Int_t sigid, Int_t eid, UInt_t val)
void SetTriggerPatternsForDataSet(const TString &dataset)
const KVFAZIATrigger & GetTrigger() const
void FillDetectorList(KVReconstructedNucleus *rnuc, KVHashList *DetList, const KVString &DetNames)
TString fFGeoType
type of FAZIA geometry (="compact",...)
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)
int fQuartet[8][2]
quartet number from #FEE and #FPGA
Double_t GetSetupParameter(const Char_t *parname)
Double_t fImport_dTheta
for geometry import
void SetIDCodeForIDTelescope(KVIDTelescope *) const
Set the FAZIA-specific general identification code for the given telescope.
Double_t fFThetaMin
minimum polar angle for compact geometry (in degrees)
ECodes
Calibration quality codes attributed to particles reconstructed from data.
@ NO_CALIBRATION_ATTEMPTED
particle stopped in detectors with no available calibration
@ NORMAL_CALIBRATION
normal well-calibrated particle with no problems
@ 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)
@ SOME_ENERGY_LOSSES_CALCULATED
particle calibration OK, with some detector energies calculated
const Char_t * GetSignalTypes() const
std::string GetTriggerForCurrentRun() const
void AddDetectorLabel(const Char_t *label)
Bool_t handle_raw_data_event_protobuf(KVProtobufDataReader &)
virtual void BuildTarget()
virtual Int_t GetIDCodeForParticlesStoppingInFirstStageOfTelescopes() const
Int_t GetNumberOfBlocks() const
Int_t fStartingBlockNumber
void copy_fired_parameters_to_recon_param_list()
void DeduceIdentificationTelescopesFromGeometry()
TString fCorrespondanceFile
Bool_t fBuildTarget; //kTRUE to include target frame in the geometry.
Double_t fImport_PhiMax
for geometry import
virtual void SetNameOfDetectors(KVEnv &env)
Double_t fImport_Zorg
for geometry import
virtual void BuildFAZIA()
methods to be implemented in child classes
virtual UChar_t GetNormalCalibrationCode()
void ReadTriggerPatterns(KVExpDB *db)
virtual void DefineStructureFormats(KVGeoImport &)
void GenerateCorrespondanceFile()
void PerformClosedROOTGeometryOperations()
Bool_t treat_event(const DAQ::FzEvent &)
Read raw data for an event.
virtual ~KVFAZIA()
Destructor.
Double_t fImport_dPhi
for geometry import
Double_t fImport_ThetaMax
for geometry import
int fTelescope[8][2]
telescope number from #FEE and #FPGA
KVFAZIATrigger fTrigger
trigger pattern read from data for each event
virtual void MakeCalibrationTables(KVExpDB *)
Override base method in order to read FAZIA trigger for each run.
Bool_t handle_raw_data_event_mfmframe(const MFMCommonFrame &)
virtual void GetGeometryParameters()
Called by the Build method.
void SetTriggerPattern(uint16_t fp)
double oldfaziats
dummy ts to control trigger info transmission rate
TString GetIDCodeMeaning(Int_t idc) const
TString GetSignalName(Int_t bb, Int_t qq, Int_t tt, Int_t idsig)
Double_t fImport_PhiMin
for geometry import
IDCodes
Identification quality codes attributed to particles reconstructed from data.
@ ID_SI12_CSI
particle identified in (SI1+SI2)-CSI telescope
@ ID_SI1_SI2_MAYBE_PUNCH_THROUGH
possible ambiguity of particle identification in SI1-SI2 due to unvetoed punch-through
@ 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_PUNCH_THROUGH
particle punching through SI2, identified Z is a minimum value
@ ID_SI1_CSI
particle identified in SI1-SI2 telescope
@ ID_SI1_PSA
particle identified by pulse shape analysis in SI1
@ ID_SI1_PUNCH_THROUGH
particle partially identified by pulse shape analysis in SI1, although it is punching through (no SI2...
@ ID_SI2_PSA
particle identified by pulse shape analysis in SI1
@ NO_IDENTIFICATION
no identification possible for particle
@ ID_GAMMA
'gamma' particle identified by pulse shape analysis in CSI
@ ID_SI2_CSI
particle identified in SI2-CSI telescope
@ ID_INCOHERENT
particle with incoherent identifications (CCode>=0)
@ ID_SI1_SI2
particle identified in SI1-SI2 telescope
void IncludeTargetInGeometry(Bool_t include=kTRUE)
Int_t fNblocks
number of blocks
void GetDetectorEvent(KVDetectorEvent *detev, const TSeqCollection *dets)
KVString GetDetectorLabels() const
void prepare_to_handle_new_raw_data()
virtual void Build(Int_t=-1)
Build the FAZIA array.
Double_t fImport_Yorg
for geometry import
void CreateCorrespondence()
TString GetECodeMeaning(Int_t ec) const
virtual void SetRawDataFromReconEvent(KVNameValueList &)
Overrides base method in order to set the value of the trigger bit pattern for the event.
Import detector array described by ROOT geometry and set up corresponding KVMultiDetArray object.
Base class for particle reconstruction in one group of a detector array.
Group of detectors which can be treated independently of all others in array.
Extended version of ROOT THashList.
Base class for all detectors or associations of detectors in array which can identify charged particl...
Base class for describing the geometry of a detector array.
void prepare_to_handle_new_raw_data()
reset acquisition parameters etc. before reading new raw data event
static Bool_t fBuildTarget
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
Read Google Protobuf DAQ files.
Nuclei reconstructed from data measured by a detector array .
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
const char * Data() const