// -*- mode: c++ -*- // // $Id: BrMultCentCalibration.h,v 1.5 2002/03/23 16:08:15 sanders Exp $ // #ifndef BRAT_BrMultCentCalibration #define BRAT_BrMultCentCalibration #ifndef BRAT_BrCalibration #include "BrCalibration.h" #endif #ifndef ROOT_TF1 #include "TF1.h" #endif #ifdef BR_MULT_CAL_TMP #undef BR_MULT_CAL_TMP #endif #define BR_MULT_CAL_TMP class BrMultCentCalibration : public BrCalibration { private: BrCalibrationData fCentralityFunc; // Centrality cut functions (BAN22) public: BrMultCentCalibration(); BrMultCentCalibration(const Char_t* name, const Char_t* title); ClassDef(BrMultCentCalibration,2) // Calibration of cent array }; #ifdef BR_MULT_CAL_TMP class BrMultCentTmpCalibration : public TNamed { private: Int_t fCentParamLOrder; // low cut order of cent function Int_t fCentParamMOrder; // mid cut order of cent function Int_t fCentParamHOrder; // high cut order of cent function Double_t fCentParamL[10]; // low cut centrality parameters Double_t fCentParamM[10]; // mid cut centrality parameters Double_t fCentParamH[10]; // high cut centrality parameters Int_t fDebugLevel; // debug level Int_t fRunNo; // Run number static BrMultCentTmpCalibration* fgInstance; public: BrMultCentTmpCalibration(); BrMultCentTmpCalibration(const Char_t* name, const Char_t* title); ~BrMultCentTmpCalibration(); static BrMultCentTmpCalibration* Instance(); // Various "special" methods void Clear(); void Defaults(); Int_t GetCentParamLOrder() { return fCentParamLOrder; } Int_t GetCentParamMOrder() { return fCentParamMOrder; } Int_t GetCentParamHOrder() { return fCentParamHOrder; } Double_t* GetCentParamL() { return fCentParamL; } Double_t* GetCentParamM() { return fCentParamM; } Double_t* GetCentParamH() { return fCentParamH; } void SetRunNumber(const Int_t runno); Int_t GetRunNumber() const {return fRunNo;} void SetDebugLevel(Int_t debug) { fDebugLevel = debug; } Int_t DebugLevel() { return fDebugLevel; } // Dummy void Use(const char*) {} ClassDef(BrMultCentTmpCalibration, 0) // temporary cent calibration } ; #endif #endif // // $Log: BrMultCentCalibration.h,v $ // Revision 1.5 2002/03/23 16:08:15 sanders // Modified mutliplicity to centrality calibration function. The // high end of the mutliplicity distribution is now fitted with an // exponential, rather than a high order polynomial. The maximum // vertex for which the centrality calculation is performed has // also been changed to 35 cm, rather than the previous 45 cm. // It should be noted that even allowing 35 cm is dangerous. The // actual calibrations only use vertices < 30 cm....which is already // outside of the si array. // // Revision 1.4 2002/01/25 18:12:21 bjornhs // Expanded array bound of the calibration parameters so that it also // works with 200GeV data... // // Revision 1.3 2001/11/12 15:00:09 sanders // Added code for 200 GeV calibrations // // Revision 1.2 2001/10/08 10:27:17 cholm // Changed detector calibration data classes to derive from BrCalibration, // rather than BrParameterElement, since that has been replaced. Impact // on various modules, and so on. Some user code may need to be changed to. // // Revision 1.1.1.1 2001/06/21 14:54:59 hagel // Initial revision of brat2 // // Revision 1.2 2001/05/31 01:44:24 cholm // Second rewamp of this directory. All RDO modules use the common // BrMultRdoModule, and they both write BrMultRdo Objects. Also introduced // ABC for Br[Tile|Si][Parameters|Calibration] since they have a lot in common, // and the code can be made more efficient this way. // // A possible further thing to do, is to make an ABC for the CentModules, and // the corresponding calibration modules, since they are very VERY similar. // However, the current module BrMultCentModule is in the way. Need to talk // to Steve about that. // // Revision 1.1 2001/04/19 15:07:28 cholm // Renamed BrCent... to BrMultCent... to reduce confusion // //