Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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.5