Skip to content
Dmytro Kresan edited this page Sep 8, 2021 · 4 revisions

This page contains several important points, which have to be taken into account during creation of new data / analysis classes.

Names of all classes in R3BRoot have to start with prefix R3B. Declaration (header) and implementation (source) files have to match the class name, having extensions .h and .cxx accordingly.

Except some special cases, second part of class name shows to which detector it belongs, e.g. Neuland, Califa, Gfi.

We define 3 major data levels, which can be extended on demand:

MAPPED-level: Mapped data (e.g. plane, bar, pm), no calibration applied
CAL-level: Fully calibrated
HIT-level: Physical quantities in cm, ns, MeV

Naming scheme:

  • Data classes:
    R3B[Detector][Level]Data, e.g. R3BTofdMappedData, R3BNeulandCalData.
  • Analysis tasks or converters, which produce a data level:
    R3B[Detector][FromLevel]2[ToLevel], e.g. R3BNeulandMapped2Cal.
  • Parameter containers:
    R3B[Detector][Level]Par.
  • Task, which calculates parameters:
    R3B[Detector][FromLevel]2[ToLevel]Par, e.g. task R3BNeulandCal2HitPar with output R3BNeulandHitPar.

Branch name for a data object in the output file has to match the class name without prefix "R3B", e.g. R3BNeulandCalData is stored in a tree as "NeulandCalData".