KaliVeda
1.12/06
Heavy-Ion Analysis Toolkit
|
Public Types | |
enum | ECodes { NO_CALIBRATION_ATTEMPTED = 0 , NORMAL_CALIBRATION = 1 , SOME_ENERGY_LOSSES_CALCULATED = 2 , WARNING_CSI_MAX_ENERGY = 3 , BAD_CALIBRATION = 15 } |
Calibration quality codes attributed to particles reconstructed from data. More... | |
enum | IDCodes { NO_IDENTIFICATION = 14 , ID_STOPPED_IN_FIRST_STAGE = 5 , ID_GAMMA = 0 , ID_NEUTRON = 1 , ID_PHOSWICH = 2 , ID_CSI_PSA = 2 , ID_SI_CSI = 3 , ID_SI75_SILI = 3 , ID_SILI_CSI = 3 , ID_CI_SI = 4 , ID_CI_CSI = 4 , ID_CI_SI75 = 4 , ID_CI_SI_COHERENCY = 6 , ID_CI_COHERENCY = 7 , ID_CI_MULTIHIT = 8 , ID_CSI_FRAGMENT = 9 , ID_CSI_MASS_OUT_OF_RANGE = 10 } |
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 |
Static Public Attributes | |
static Char_t | SignalTypes [16][3] |
Use this static array to translate EBaseIndra_type signal type to a string giving the signal type. More... | |
Protected Attributes | |
KVHashList * | fChIo |
List Of ChIo of INDRA. More... | |
KVHashList * | fCsI |
List of CsI detectors of INDRA. More... | |
Bool_t | fPHDSet |
set to kTRUE if pulse height defect parameters are set More... | |
KVHashList * | fPhoswich |
List of NE102/NE115 detectors of INDRA. More... | |
KVINDRATriggerInfo * | fSelecteur |
infos from DAQ trigger (le Selecteur) More... | |
KVHashList * | fSi |
List of Si detectors of INDRA. More... | |
TEnv | fStrucInfos |
file containing structure of array More... | |
Protected Attributes inherited from KVASMultiDetArray | |
UInt_t | fCurrentLayerNumber |
used to number layers More... | |
UInt_t | fGr |
used to number groups More... | |
Protected Attributes inherited from KVMultiDetArray | |
KVNumberList | fAcceptECodes |
list of acceptable calibration codes for reconstructed nuclei More... | |
KVNumberList | fAcceptIDCodes |
list of acceptable identification codes for reconstructed nuclei More... | |
KVSeqCollection * | fACQParams |
list of data acquisition parameters associated to detectors More... | |
TList * | fCalibStatusDets |
used by GetStatusIDTelescopes More... | |
UInt_t | fCurrentRun |
Number of the current run used to call SetParameters. More... | |
TString | fDataSet |
name of associated dataset, used with MakeMultiDetector() More... | |
Int_t | fFilterType |
type of filtering (used by DetectEvent) More... | |
KVUniqueNameList | fFiredACQParams |
list of fired acquisition parameters after reading raw data event More... | |
Bool_t | fHandledRawData |
set to true if multidetector handles data in last call to HandleRawData More... | |
KVDetectorEvent * | fHitGroups |
list of hit groups in simulation More... | |
KVSeqCollection * | fIDTelescopes |
deltaE-E telescopes in groups More... | |
KVRangeTableGeoNavigator * | fNavigator |
for propagating particles through array geometry More... | |
TString | fPartSeedCond |
condition for seeding new reconstructed particles More... | |
KVNameValueList | fReconParameters |
general purpose list of parameters for storing information on data reconstruction More... | |
Bool_t | fROOTGeometry |
=kTRUE use ROOT geometry More... | |
Bool_t | fSimMode |
=kTRUE in "simulation mode" (use for calculating response to simulated events) More... | |
TList * | fStatusIDTelescopes |
used by GetStatusIDTelescopes More... | |
KVTarget * | fTarget |
target used in experiment More... | |
KVUniqueNameList | fTrajectories |
list of all possible trajectories through detectors of array More... | |
KVUpDater * | fUpDater |
used to set parameters for multidetector More... | |
Protected Attributes inherited from KVGeoStrucElement | |
KVUniqueNameList | fDetectors |
detectors in this structure element More... | |
KVUniqueNameList | fParentStrucList |
parent structures More... | |
KVUniqueNameList | fStructures |
daughter structures More... | |
Protected Attributes inherited from KVBase | |
TString | fLabel |
label for the object More... | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TObject | |
kOnlyPrepStep | |
Private Member Functions | |
void | AddArrayACQParam (KVACQParam *p) |
Private Attributes | |
KVList | fOwnedACQParams |
to clean up acquisition parameters belonging to the array, not to detectors More... | |
UChar_t | fTrigger |
multiplicity trigger used for acquisition More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from KVMultiDetArray | |
static TGeoHMatrix * | GetVolumePositioningMatrix (Double_t distance, Double_t theta, Double_t phi, TGeoTranslation *postTrans=nullptr) |
static KVMultiDetArray * | MakeMultiDetector (const Char_t *dataset_name, Int_t run=-1, TString classname="KVMultiDetArray") |
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 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_t * | FindFile (const Char_t *search, TString &wfil) |
static const Char_t * | GetBINDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetDATABASEFilePath () |
static const Char_t * | GetDATADIRFilePath (const Char_t *namefile="") |
static Bool_t | GetDataSetEnv (const Char_t *dataset, const Char_t *type, Bool_t defval) |
static const Char_t * | GetDataSetEnv (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_t * | GetETCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetExampleFilePath (const Char_t *library, const Char_t *namefile) |
Return full path to example file for given library (="KVMultiDet", "BackTrack", etc.) More... | |
static const Char_t * | GetINCDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetKVBuildDate () |
Returns KaliVeda build date. More... | |
static const Char_t * | GetKVBuildDir () |
Returns top-level directory used for build. More... | |
static const Char_t * | GetKVBuildTime () |
Returns KaliVeda build date. More... | |
static const Char_t * | GetKVBuildType () |
Returns KaliVeda build type (cmake build: Release, Debug, RelWithDebInfo, ...) More... | |
static const Char_t * | GetKVBuildUser () |
Returns username of person who performed build. More... | |
static const Char_t * | GetKVSourceDir () |
Returns top-level directory of source tree used for build. More... | |
static const Char_t * | GetKVVersion () |
Returns KaliVeda version string. More... | |
static const Char_t * | GetLIBDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetListOfPlugins (const Char_t *base) |
static const Char_t * | GetListOfPluginURIs (const Char_t *base) |
static const Char_t * | GetPluginURI (const Char_t *base, const Char_t *plugin) |
static void | GetTempFileName (TString &base) |
static const Char_t * | GetTEMPLATEDIRFilePath (const Char_t *namefile="") |
static const Char_t * | GetWORKDIRFilePath (const Char_t *namefile="") |
static const Char_t * | gitBranch () |
Returns git branch of sources. More... | |
static const Char_t * | gitCommit () |
Returns last git commit of sources. More... | |
static void | InitEnvironment () |
static bool | is_gnuinstall () |
static Bool_t | IsThisAPlugin (const TString &uri, TString &base) |
static TPluginHandler * | LoadPlugin (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, 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_t * | WorkingDirectory () |
Static Public Member Functions inherited from TObject | |
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 Types inherited from KVMultiDetArray | |
enum | { kIsRemoving = BIT(14) , kParamsSet = BIT(15) , kIsBuilt = BIT(16) , kIsBeingDeleted = BIT(17) , kIDParamsSet = BIT(18) , kCalParamsSet = BIT(19) } |
Static Protected Attributes inherited from KVMultiDetArray | |
static Bool_t | fBuildTarget = kFALSE |
static Bool_t | fCloseGeometryNow = kTRUE |
static Bool_t | fMakeMultiDetectorSetParameters = kTRUE |
#include <KVINDRA.h>
enum KVINDRA::ECodes |
Calibration quality codes attributed to particles reconstructed from data.
enum KVINDRA::IDCodes |
Identification quality codes attributed to particles reconstructed from data.
KVINDRA::KVINDRA | ( | ) |
Default constructor Set up lists of ChIo, Si, CsI, Phoswich
Definition at line 84 of file KVINDRA.cpp.
|
virtual |
|
inlineprivate |
Overrides KVASMultiDetArray::Build Correspondance between CsI detectors and pin lasers is set up if known. Correspondance between Si and ChIo detectors and nunmber of the QDC is made
Reimplemented from KVMultiDetArray.
Definition at line 380 of file KVINDRA.cpp.
|
protectedvirtual |
Construction of INDRA detector array.
Uses infos in file $KVROOT/KVFiles/data/indra_struct.[dataset].env or $KVROOT/KVFiles/data/indra_struct.env
if no dataset-specific file found
Alternatively, by defining the variable
[dataset].INDRA.StructureFile: [path to file]
Reimplemented from KVMultiDetArray.
Definition at line 157 of file KVINDRA.cpp.
Build layer 'name' with infos in file "$KVROOT/KVFiles/data/indra-struct.[dataset].env".
Definition at line 218 of file KVINDRA.cpp.
Build ring with infos in file "$KVROOT/KVFiles/data/indra-struct.[dataset].env".
Definition at line 243 of file KVINDRA.cpp.
|
protected |
Build telescope from infos in file "$KVROOT/KVFiles/data/indra-struct.[dataset].env" Info("BuildTelescope", "Building telescope %s",name);
Definition at line 292 of file KVINDRA.cpp.
void KVINDRA::CreateROOTGeometry | ( | ) |
Overrides KVASMultiDetArray::CreateGeoManager in order to use INDRAGeometryBuilder which builds the TGeo representation of INDRA using the Y. Huguet CAO data.
The optional arguments (dx,dy,dz) are the half-lengths in centimetres of the "world"/"top" volume into which all the detectors of the array are placed. This should be big enough so that all detectors fit in. The default values of 500 give a "world" which is a cube 1000cmx1000cmx1000cm (with sides going from -500cm to +500cm on each axis).
If closegeo=kFALSE we leave the geometry open for other structures to be added.
Definition at line 1189 of file KVINDRA.cpp.
|
protected |
Fill lists of ChIo, Si, CsI and phoswich.
Definition at line 528 of file KVINDRA.cpp.
|
protected |
Kludge to make INDRA ROOT geometry work like any other Normally ID telescopes are deduced from successive detectors on the different trajectories Each trajectory then possesses its list of ID telescopes These lists are then used when reconstruction trajectories are calculated
When INDRA ROOT geometry is used, trajectory lists need to be filled by hand before reconstruction trajectories are calculated
Definition at line 339 of file KVINDRA.cpp.
|
inlineprotectedvirtual |
The following methods are used by the current implementation of the filter. They should be removed in future implementations.
return a general identification code for particles badly identified with this type of ID telescope
Reimplemented from KVMultiDetArray.
Return pointer to layer in INDRA structure corresponding to ionisation chambers.
Definition at line 600 of file KVINDRA.cpp.
Returns a pointer to the Ionisation Chamber placed directly in front of the detector "detname". If no ChIo is present, a null pointer is returned.
Definition at line 582 of file KVINDRA.cpp.
|
inlineprotectedvirtual |
return a general identification code for particles identified with this type of ID telescope after coherency analysis
Reimplemented from KVMultiDetArray.
|
virtual |
Find a detector based on the old BaseIndra type definitions:
enum EBaseIndra_type { ChIo_GG=1, ChIo_PG,//=2 ChIo_T,//=3 Si_GG,//=4 Si_PG,//=5 Si_T,//=6 CsI_R,//=7 CsI_L,//=8 CsI_T,//=9 Si75_GG,//=10 Si75_PG,//=11 Si75_T,//=12 SiLi_GG,//=13 SiLi_PG,//=14 SiLi_T//=15 }; enum EBaseIndra_typePhos { Phos_R=1, Phos_L,//=2 Phos_T,//=3 };
Definition at line 651 of file KVINDRA.cpp.
|
virtual |
Overrides KVASMultiDetArray::GetDetectorEvent. If the list of fired acquisition parameters is given (meaning we are reading raw data) then we check that what we have read is in fact an INDRA event (see KVINDRATriggerInfo::IsINDRAEvent()) : if not, we do not try to find the hit groups.
Reimplemented from KVMultiDetArray.
Definition at line 1091 of file KVINDRA.cpp.
|
inlinevirtual |
Reimplemented from KVMultiDetArray.
Return a symbolic name corresponding to the IDCode value
|
protectedvirtual |
Override KVASMultiDetArray method for special case of "etalon" modules: we need to add ChIo-CsI identification telescope by hand
Reimplemented from KVMultiDetArray.
Definition at line 725 of file KVINDRA.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectedvirtual |
return a general identification code for particles which cannot be identified correctly due to pile-up in a delta-E detector
Reimplemented from KVMultiDetArray.
|
inlineprotectedvirtual |
return a general calibration code for correctly calibrated particles
Reimplemented from KVMultiDetArray.
|
virtual |
Renvoie sous forme de TGraph (en fonction du numero de module) les piedestaux du signal (det_signal) asssocies aux detecteurs de type (det_type) qui sont presents dans la couronne ring_number pour un numero de run donne (si run_number==-1) on suppose que gIndra->SetParameters(xxx) a ete fait en amont L'utilisateur doit effacer ce TGraph tout seul comme un grand apres usage Une recherche sur l existence ou non du graph permet d eviter des boucles inutiles Si l appel est reitere
Definition at line 1038 of file KVINDRA.cpp.
|
virtual |
Special INDRA group reconstructors: KVINDRAForwardGroupReconstructor rings 1-9 KVINDRABackwardGroupReconstructor rings 10-17 KVINDRAEtalonGroupReconstructor for groups with etalon telescopes
Reimplemented from KVMultiDetArray.
Definition at line 1328 of file KVINDRA.cpp.
|
inline |
|
protectedvirtual |
Override base method to retrieve CENTRUM timestamp from data if present. It will be added to fReconParameters as a 64-bit value "INDRA.TS" (if != 0) Event number is retrieved and stored as "INDRA.EN" (if != 0) Any parameter which appears as [name] and [name]_UP is an unsigned 32-bit value split into two 16-bit words. We replace the two parameters with a 64-bit value (to hold correctly all unsigned 32-bit values) with [name].
Reimplemented from KVMultiDetArray.
Definition at line 807 of file KVINDRA.cpp.
|
protected |
Link detectors with electronic modules for the moment only QDC for Si and ChIo are implemented This information is accessible via KVINDRADetector::GetNumeroCodeur() To be active one has to put in the dataset directory a file name Codeurs.dat containing the name of the file for the concerned type of electronic module for example see INDRA_e613 dataset [dataset name].INDRADB.Codeurs: ...
Definition at line 964 of file KVINDRA.cpp.
|
protectedvirtual |
Overrides KVASMultiDetArray method to add FillListsOfDetectorsByType()
Reimplemented from KVMultiDetArray.
Definition at line 515 of file KVINDRA.cpp.
|
protectedvirtual |
Finalise the ROOT geometry description by performing operations which can only be done once the geometry is closed
Reimplemented from KVMultiDetArray.
Definition at line 789 of file KVINDRA.cpp.
|
virtual |
Overrides KVASMultiDetArray::SetArrayACQParams() in order to add the following acquisition parameters which are not associated to a detector:
STAT_EVE R_DEC CONFIG PILA_01_PG PILA_01_GG PILA_02_PG PILA_02_GG PILA_03_PG PILA_03_GG PILA_04_PG PILA_04_GG PILA_05_PG PILA_05_GG PILA_06_PG PILA_06_GG PILA_07_PG PILA_07_GG PILA_08_PG PILA_08_GG SI_PIN1_PG SI_PIN1_GG SI_PIN2_PG SI_PIN2_GG
We also create and initialize the KVINDRATriggerInfo object (fSelecteur) used to read the status of the DAQ trigger event by event (access through GetTriggerInfo()).
Reimplemented from KVMultiDetArray.
Definition at line 444 of file KVINDRA.cpp.
|
protected |
Sets the parameters for linear conversion of silicon & ChIo coder values between GG and PG, using the following formula:
PG = alpha + beta*(GG - GG_0) + PG_0
where GG_0 and PG_0 are respectively GG and PG pedestals
We look for the file whose name is given by the .kvrootrc variable [dataset].INDRADB.GGtoPGFactors: or by default INDRADB.GGtoPGFactors: and expect to find in it a line for each detector of the form: Det_Name alpha beta Comments in the file can be written on lines beginning with the character '#'
Definition at line 1122 of file KVINDRA.cpp.
|
protectedvirtual |
Find groups of telescopes in angular alignment placed on different layers. List is in fGroups. Also creates all ID telescopes in array and stores them in fIDTelescopes. Any previous groups/idtelescopes are deleted beforehand.
Reimplemented in KVINDRAe503.
Definition at line 564 of file KVINDRA.cpp.
|
protectedvirtual |
Set the INDRA-specific general identification code for the given telescope.
Reimplemented from KVMultiDetArray.
Definition at line 849 of file KVINDRA.cpp.
Set minimum OK multiplicity for (reconstructed) event This is the multiplicity trigger used for the current run (if known)
Reimplemented from KVMultiDetArray.
Definition at line 1312 of file KVINDRA.cpp.
|
protected |
Change default names of ID telescopes to INDRA standard
This method also sets the types of the ID telescopes
Definition at line 748 of file KVINDRA.cpp.
void KVINDRA::SetPinLasersForCsI | ( | ) |
Sets the KVCsI::fPinLaser member of each CsI detector with the number of the pin laser associated for the stability control of these detectors.
We look for a file with the following format:
CSI_0101 1 CSI_0102 1 CSI_0103 1 CSI_0104 1 etc.
i.e. 'name of CsI detector' 'number of pin laser (1-8)' Comment lines must begin with '#'
The default name of this file is defined in .kvrootrc by
INDRADB.CsIPinCorr: CsI_PILA.dat
Dataset-specific version can be specified:
INDRA_e999.INDRADB.CsIPinCorr: CorrCsIPin_2054.dat
This file should be in the directory corresponding to the current dataset, i.e. in $KVROOT/KVFiles/name_of_dataset
Definition at line 896 of file KVINDRA.cpp.
|
virtual |
If "INDRA.EN" parameter has been set, we use it to set the event number.
Reimplemented from KVMultiDetArray.
Definition at line 1354 of file KVINDRA.cpp.
Override base class method If ROOT geometry is requested but has not been built, we create it
Reimplemented from KVMultiDetArray.
Definition at line 1290 of file KVINDRA.cpp.
Define multiplicity trigger used for acquisition and filter. Events with multipicity >= trig are OK.
Definition at line 615 of file KVINDRA.cpp.
|
protected |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
static |