--- DarthVader/TrackerLevel2/inc/TrkParams.h 2007/02/16 14:56:00 1.1 +++ DarthVader/TrackerLevel2/inc/TrkParams.h 2011/11/29 13:24:15 1.17 @@ -9,16 +9,54 @@ #include #include #include +#include // EMILIANO: needed to compile with ROOT > 5.16/x #include #include #include #define NTYPES 10 +#define NGF 14 /** * \brief Class to store tracker parameter information * + * Tracker parameters include calibration parameters (PED, SIG and BAD), + * parameters loaded from DB (alignment, ADC-to-mip, etc. ) and some parameters + * to configure tracker processing (PFA, ecc...). + * + * Calibrations can be either those evaluated online or default values. + * External parameter are labelled according to the DB convention: + * + * type description + * ----------------- + * 1 field + * 2 adc-to-mip + * 3 charge-correlation + * 4 p.f.a. (eta) + * 5 alignment + * 6 VA1 mask + * 7 default calibration + * + * Internal parameters are initialized to default values +* + * TrkParams::SetCalib(...) and TrkParams::Set(...) methods allow to set + * required parameters, from an input path, from the DB (for a given input + * run id) and from environment variable PAM_CALIB. + * TrkParams::LoadCalib() and TrkParams::Load() methods load parameters into + * F77 common. + * + * Tracker libraries (TrkLevel0, TrkLevel1 and TrkLevel2) implement automatic + * setting (either from DB or from environment variables) and loading of parameters. + * If one needs to load custom parameters, it is enough to call TrkParams::Set(...) + * with proper arguments. All the methods are static, and can be used as standalone functions. + * + * For example: + * + * TrkParams::Set("/param-path/new-mip-param/",2); + * + * After this instruction (to be called once), new adc-to-mip conversion parameters + * will be loaded automatically (once) and used until the next set instruction */ class TrkParams : public TObject { @@ -36,6 +74,8 @@ static TString calibpathf; //full static Bool_t calib104; static Bool_t calibload; + static TrkCalib* calib1; + static TrkCalib* calib2; // --------------------------------------------- // variables to store loaded-parameters info // --------------------------------------------- @@ -43,17 +83,42 @@ static GL_PARAM gl[NTYPES]; static TString glpath[NTYPES]; static Bool_t glload[NTYPES]; - + // ----------------------------------------------- + // some parameters to configure tracker processing + // ----------------------------------------------- + static int init__pfa; + static int init__mini_trackmode; + static int init__mini_istepmin; + static double init__mini_fact; + static cDbg init__dbg_mode; //debug mode (for both c++ and F77 roiutines) + static float init__pfa_e234ax[6]; // angle intervals for eta2-3-4 + static float init__pfa_e234ay[6]; // angle intervals for eta2-3-4 + static double init__deltab_0; + static double init__deltab_1; + static double init__dlt; + + // ------------------------------------------ + // nominal z-coordinates to define acceptance + // ------------------------------------------ + static int nGF; + static float zGF[NGF]; + static float xGF_min[NGF]; + static float xGF_max[NGF]; + static float yGF_min[NGF]; + static float yGF_max[NGF]; + static TString GF_element[NGF]; + TrkParams(); - + // --------------------------------------------- // calibration (PED-SIG-BAD) // --------------------------------------------- static Bool_t SetCalib( GL_RUN* , TSQLServer* ); static Bool_t LoadCalib( ); static Bool_t CalibIsLoaded(){ return calibload; }; - static void FillFCalibFrom(TFile* , Int_t , Int_t );//full - static void FillTCalibFrom(TFile* , Int_t , Int_t );//truncated + static UInt_t ValidateTrkCalib( CalibTrk1Event* ); +// static void FillFCalibFrom(TFile* , Int_t , Int_t );//full +// static void FillTCalibFrom(TFile* , Int_t , Int_t );//truncated static void FillTCalibFrom(TString path); static void FillACalibFrom(TFile* , Int_t , Int_t );//all static void FillMask(TFile* , Int_t , Int_t ); @@ -63,9 +128,11 @@ // --------------------------------------------- static Bool_t Set( GL_RUN* glrun, TSQLServer* dbc, UInt_t type); static Bool_t Set( GL_RUN* glrun, TSQLServer* dbc){ - for(Int_t i=0; i