RecoLocalCalo
HcalRecAlgos
interface
AbsHFPhase1Algo.h
Go to the documentation of this file.
1
#ifndef RecoLocalCalo_HcalRecAlgos_AbsHFPhase1Algo_h_
2
#define RecoLocalCalo_HcalRecAlgos_AbsHFPhase1Algo_h_
3
4
#include "
DataFormats/HcalRecHit/interface/HFRecHit.h
"
5
#include "
DataFormats/HcalRecHit/interface/HFPreRecHit.h
"
6
#include "
CalibFormats/HcalObjects/interface/HcalCalibrations.h
"
7
8
class
AbsHcalAlgoData
;
9
10
//
11
// It is assumed that the HF Phase 1 algorithms will be developed
12
// utilizing pairs of classes: a DB class with relevant calibration
13
// constants and configuration parameters, derived from AbsHcalAlgoData,
14
// and the algo class, derived from AbsHFPhase1Algo, utilizing that DB class.
15
//
16
// We can expect that the same calibration constants might be utilized
17
// by different reco algorithms.
18
//
19
// In principle, of course, the configuration objects do not have to be
20
// actually stored in the database. It is expected that, at the early
21
// stages of our understanding of energy reconstruction with dual-anode
22
// PMTs, these objects will be created from the module configuration
23
// parameters.
24
//
25
class
AbsHFPhase1Algo
{
26
public
:
27
inline
virtual
~AbsHFPhase1Algo
() {}
28
29
// Does this class expect to receive its configuration from the database?
30
virtual
bool
isConfigurable
()
const
= 0;
31
32
// If using DB, expect that the configuration will be updated
33
// once per run. We will not manage the pointer here. "true"
34
// should be returned on success (typically, automatic cast
35
// from the pointer checked by the appropriate dynamic cast).
36
inline
virtual
bool
configure
(
const
AbsHcalAlgoData
*) {
return
false
; }
37
38
// Convention: if we do not want to use the given HFPreRecHit
39
// at all (i.e., it is to be discarded), the returned HFRecHit
40
// should have its id (of type HcalDetId) set to 0.
41
virtual
HFRecHit
reconstruct
(
const
HFPreRecHit
& prehit,
42
const
HcalCalibrations
& calibs,
43
const
bool
flaggedBadInDB[2],
44
bool
expectSingleAnodePMT) = 0;
45
};
46
47
#endif // RecoLocalCalo_HcalRecAlgos_AbsHFPhase1Algo_h_
HFPreRecHit.h
HcalCalibrations.h
HcalCalibrations
Definition:
HcalCalibrations.h:9
AbsHFPhase1Algo::~AbsHFPhase1Algo
virtual ~AbsHFPhase1Algo()
Definition:
AbsHFPhase1Algo.h:27
AbsHFPhase1Algo::reconstruct
virtual HFRecHit reconstruct(const HFPreRecHit &prehit, const HcalCalibrations &calibs, const bool flaggedBadInDB[2], bool expectSingleAnodePMT)=0
HFPreRecHit
Definition:
HFPreRecHit.h:14
AbsHFPhase1Algo::isConfigurable
virtual bool isConfigurable() const =0
HFRecHit.h
AbsHFPhase1Algo
Definition:
AbsHFPhase1Algo.h:25
HFRecHit
Definition:
HFRecHit.h:11
AbsHcalAlgoData
Definition:
AbsHcalAlgoData.h:10
AbsHFPhase1Algo::configure
virtual bool configure(const AbsHcalAlgoData *)
Definition:
AbsHFPhase1Algo.h:36
Generated for CMSSW Reference Manual by
1.8.14