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 {
29 public:
30  inline virtual ~AbsHBHEPhase1Algo() {}
31 
32  inline virtual void beginRun(const edm::Run&, const edm::EventSetup&) {}
33  inline virtual void endRun() {}
34 
35  // Does this class expect to receive its configuration from the database?
36  virtual bool isConfigurable() const = 0;
37 
38  // If using DB, expect that the configuration will be updated
39  // once per run. We will not manage the pointer here. "true"
40  // should be returned on success (typically, automatic cast
41  // from the pointer checked by the appropriate dynamic cast).
42  inline virtual bool configure(const AbsHcalAlgoData*) {return false;}
43 
44  // Convention: if we do not want to use the given channel at
45  // all (i.e., it is to be discarded), the returned HBHERecHit
46  // should have its id (of type HcalDetId) set to 0.
47  //
48  // Note that "params" pointer is allowed to be null.
49  //
51  const HcalRecoParam* params,
52  const HcalCalibrations& calibs,
53  bool isRealData) = 0;
54 };
55 
56 #endif // RecoLocalCalo_HcalRecAlgos_AbsHBHEPhase1Algo_h_
static const TGPicture * info(bool iBackgroundIsBlack)
virtual void endRun()
virtual bool isConfigurable() const =0
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
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