CMS 3D CMS Logo

AbsHBHEPhase1Algo.h
Go to the documentation of this file.
1 #ifndef RecoLocalCalo_HcalRecAlgos_AbsHBHEPhase1Algo_h_
2 #define RecoLocalCalo_HcalRecAlgos_AbsHBHEPhase1Algo_h_
3 
9 
10 class AbsHcalAlgoData;
11 
12 //
13 // It is assumed that the HBHE Phase 1 algorithms will be developed
14 // utilizing pairs of classes: a DB class with relevant calibration
15 // constants and configuration parameters, derived from AbsHcalAlgoData,
16 // and the algo class, derived from AbsHBHEPhase1Algo, utilizing that DB class.
17 //
18 // We can expect that the same calibration constants might be utilized
19 // by different reco algorithms.
20 //
21 // In principle, of course, the configuration objects do not have to be
22 // actually stored in the database. It is expected that, at the early
23 // stages of our understanding of energy reconstruction with QIE11
24 // ASICs, these objects will be created from the module configuration
25 // parameters.
26 //
28 public:
29  inline virtual ~AbsHBHEPhase1Algo() {}
30 
31  inline virtual void beginRun(const edm::Run&, const edm::EventSetup&) {}
32  inline virtual void endRun() {}
33 
34  // Does this class expect to receive its configuration from the database?
35  virtual bool isConfigurable() const = 0;
36 
37  // If using DB, expect that the configuration will be updated
38  // once per run. We will not manage the pointer here. "true"
39  // should be returned on success (typically, automatic cast
40  // from the pointer checked by the appropriate dynamic cast).
41  inline virtual bool configure(const AbsHcalAlgoData*) { return false; }
42 
43  // Convention: if we do not want to use the given channel at
44  // all (i.e., it is to be discarded), the returned HBHERecHit
45  // should have its id (of type HcalDetId) set to 0.
46  //
47  // Note that "params" pointer is allowed to be null.
48  //
50  const HcalRecoParam* params,
51  const HcalCalibrations& calibs,
52  bool isRealData) = 0;
53 };
54 
55 #endif // RecoLocalCalo_HcalRecAlgos_AbsHBHEPhase1Algo_h_
static const TGPicture * info(bool iBackgroundIsBlack)
virtual void endRun()
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
virtual bool isConfigurable() const =0
virtual bool configure(const AbsHcalAlgoData *)
virtual ~AbsHBHEPhase1Algo()
virtual HBHERecHit reconstruct(const HBHEChannelInfo &info, const HcalRecoParam *params, const HcalCalibrations &calibs, bool isRealData)=0
Definition: Run.h:45