RecoEgamma
EgammaHFProducers
plugins
HFClusterAlgo.h
Go to the documentation of this file.
1
#ifndef RECOLOCALCALO_HFCLUSTERPRODUCER_HFCLUSTERALGO_H
2
#define RECOLOCALCALO_HFCLUSTERPRODUCER_HFCLUSTERALGO_H 1
3
4
#include "
DataFormats/HcalRecHit/interface/HcalRecHitCollections.h
"
5
#include "
Geometry/CaloGeometry/interface/CaloGeometry.h
"
6
#include "
DataFormats/EgammaReco/interface/HFEMClusterShape.h
"
7
#include "
DataFormats/EgammaReco/interface/BasicCluster.h
"
8
#include "
DataFormats/EgammaReco/interface/SuperCluster.h
"
9
#include "
DataFormats/EgammaReco/interface/HFEMClusterShapeAssociation.h
"
10
#include "
DataFormats/EgammaReco/interface/HFEMClusterShape.h
"
11
#include "
DataFormats/EgammaReco/interface/BasicClusterFwd.h
"
12
#include "
DataFormats/EgammaReco/interface/SuperClusterFwd.h
"
13
#include <map>
14
#include <list>
15
20
//$Id:HFClusterAlgo.h,v 1.2 2007/09/19 09:52 K. Klapoetke Minnesota
21
22
class
HFClusterAlgo
{
23
public
:
24
HFClusterAlgo
();
25
26
void
setup
(
double
minTowerEnergy
,
27
double
seedThreshold
,
28
double
maximumSL
,
29
double
m_maximumRenergy
,
30
bool
usePMTflag,
31
bool
usePulseflag,
32
bool
forcePulseFlagMC
,
33
int
correctionSet);
34
35
void
isMC
(
bool
isMC
) {
m_isMC
=
isMC
; }
36
38
void
clusterize
(
const
HFRecHitCollection
&
hf
,
39
const
CaloGeometry
&
geom
,
40
reco::HFEMClusterShapeCollection
&
clusters
,
41
reco::SuperClusterCollection
& SuperClusters);
42
43
void
resetForRun
();
44
45
private
:
46
friend
class
CompareHFCompleteHitET
;
47
friend
class
CompareHFCore
;
48
49
double
m_minTowerEnergy
,
m_seedThreshold
,
m_maximumSL
,
m_maximumRenergy
;
50
bool
m_usePMTFlag
;
51
bool
m_usePulseFlag
,
m_forcePulseFlagMC
;
52
bool
m_isMC
;
53
int
m_correctionSet
;
54
std::vector<double>
m_cutByEta
;
55
std::vector<double>
m_correctionByEta
;
56
std::vector<double>
m_seedmnEta
;
57
std::vector<double>
m_seedMXeta
;
58
std::vector<double>
m_seedmnPhi
;
59
std::vector<double>
m_seedMXphi
;
60
struct
HFCompleteHit
{
61
HcalDetId
id
;
62
double
energy
,
et
;
63
};
64
bool
isPMTHit
(
const
HFRecHit
& hfr);
65
bool
makeCluster
(
const
HcalDetId
& seedid,
66
const
HFRecHitCollection
&
hf
,
67
const
CaloGeometry
*
geom
,
68
reco::HFEMClusterShape
& clusShp,
69
reco::SuperCluster
& SClus);
70
};
71
72
#endif
HFClusterAlgo::HFCompleteHit::energy
double energy
Definition:
HFClusterAlgo.h:62
HFClusterAlgo::m_seedmnPhi
std::vector< double > m_seedmnPhi
Definition:
HFClusterAlgo.h:58
HFEMClusterShapeAssociation.h
HFClusterAlgo::clusterize
void clusterize(const HFRecHitCollection &hf, const CaloGeometry &geom, reco::HFEMClusterShapeCollection &clusters, reco::SuperClusterCollection &SuperClusters)
Definition:
HFClusterAlgo.cc:89
reco::SuperCluster
Definition:
SuperCluster.h:18
BasicCluster.h
hfClusterShapes_cfi.forcePulseFlagMC
forcePulseFlagMC
Definition:
hfClusterShapes_cfi.py:11
reco::HFEMClusterShapeCollection
std::vector< HFEMClusterShape > HFEMClusterShapeCollection
Definition:
HFEMClusterShapeFwd.h:8
HFClusterAlgo::m_seedmnEta
std::vector< double > m_seedmnEta
Definition:
HFClusterAlgo.h:56
HFClusterAlgo::m_maximumRenergy
double m_maximumRenergy
Definition:
HFClusterAlgo.h:49
HFClusterAlgo::HFCompleteHit
Definition:
HFClusterAlgo.h:60
edm::SortedCollection
Definition:
SortedCollection.h:49
HFClusterAlgo::m_seedMXphi
std::vector< double > m_seedMXphi
Definition:
HFClusterAlgo.h:59
HFClusterAlgo::m_isMC
bool m_isMC
Definition:
HFClusterAlgo.h:52
BasicClusterFwd.h
HFClusterAlgo::m_correctionByEta
std::vector< double > m_correctionByEta
Definition:
HFClusterAlgo.h:55
reco::SuperClusterCollection
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Definition:
SuperClusterFwd.h:9
HFClusterAlgo::m_minTowerEnergy
double m_minTowerEnergy
Definition:
HFClusterAlgo.h:49
CaloGeometry
Definition:
CaloGeometry.h:21
reco::HFEMClusterShape
Definition:
HFEMClusterShape.h:20
photonIsolationHIProducer_cfi.hf
hf
Definition:
photonIsolationHIProducer_cfi.py:9
HFClusterAlgo::m_seedThreshold
double m_seedThreshold
Definition:
HFClusterAlgo.h:49
HFRecHit
Definition:
HFRecHit.h:11
HFClusterAlgo::makeCluster
bool makeCluster(const HcalDetId &seedid, const HFRecHitCollection &hf, const CaloGeometry *geom, reco::HFEMClusterShape &clusShp, reco::SuperCluster &SClus)
Definition:
HFClusterAlgo.cc:196
HFClusterAlgo::isPMTHit
bool isPMTHit(const HFRecHit &hfr)
Definition:
HFClusterAlgo.cc:392
relativeConstraints.geom
geom
Definition:
relativeConstraints.py:72
HFClusterAlgo::m_seedMXeta
std::vector< double > m_seedMXeta
Definition:
HFClusterAlgo.h:57
HFClusterAlgo::setup
void setup(double minTowerEnergy, double seedThreshold, double maximumSL, double m_maximumRenergy, bool usePMTflag, bool usePulseflag, bool forcePulseFlagMC, int correctionSet)
Definition:
HFClusterAlgo.cc:40
HFClusterAlgo::HFClusterAlgo
HFClusterAlgo()
Definition:
HFClusterAlgo.cc:19
hfClusterShapes_cfi.maximumSL
maximumSL
Definition:
hfClusterShapes_cfi.py:8
CompareHFCore
Definition:
HFClusterAlgo.cc:30
bsc_activity_cfg.clusters
clusters
Definition:
bsc_activity_cfg.py:36
HFClusterAlgo::resetForRun
void resetForRun()
Definition:
HFClusterAlgo.cc:403
HcalDetId
Definition:
HcalDetId.h:12
HFClusterAlgo::m_maximumSL
double m_maximumSL
Definition:
HFClusterAlgo.h:49
hfClusterShapes_cfi.minTowerEnergy
minTowerEnergy
Definition:
hfClusterShapes_cfi.py:6
HFClusterAlgo::m_usePMTFlag
bool m_usePMTFlag
Definition:
HFClusterAlgo.h:50
CompareHFCompleteHitET
Definition:
HFClusterAlgo.cc:23
HFClusterAlgo::HFCompleteHit::et
double et
Definition:
HFClusterAlgo.h:62
HFClusterAlgo
Definition:
HFClusterAlgo.h:22
HFClusterAlgo::m_correctionSet
int m_correctionSet
Definition:
HFClusterAlgo.h:53
SuperClusterFwd.h
SuperCluster.h
CaloGeometry.h
HFClusterAlgo::m_cutByEta
std::vector< double > m_cutByEta
Definition:
HFClusterAlgo.h:54
HcalRecHitCollections.h
HFClusterAlgo::m_usePulseFlag
bool m_usePulseFlag
Definition:
HFClusterAlgo.h:51
HFClusterAlgo::isMC
void isMC(bool isMC)
Definition:
HFClusterAlgo.h:35
HFClusterAlgo::HFCompleteHit::id
HcalDetId id
Definition:
HFClusterAlgo.h:61
HFEMClusterShape.h
UEAnalysisJets_cfi.seedThreshold
seedThreshold
Definition:
UEAnalysisJets_cfi.py:8
HFClusterAlgo::m_forcePulseFlagMC
bool m_forcePulseFlagMC
Definition:
HFClusterAlgo.h:51
Generated for CMSSW Reference Manual by
1.8.16