CMS 3D CMS Logo

CaloTowersCreationAlgo.h
Go to the documentation of this file.
1 #ifndef RECOLOCALCALO_CALOTOWERSCREATOR_CALOTOWERSCREATIONALGO_H
2 #define RECOLOCALCALO_CALOTOWERSCREATOR_CALOTOWERSCREATIONALGO_H 1
3 
9 
10 // channel status
13 
16 
17 // severity level assignment for HCAL
20 
21 // severity level assignment for ECAL
23 
24 // need if we want to store the handles
26 #include <tuple>
27 
28 #include <map>
29 class CaloTowerTopology;
30 class HcalTopology;
31 class CaloGeometry;
34 class CaloRecHit;
35 class DetId;
36 
42 //
43 // Modify MetaTower to save energy of rechits for use in tower 4-momentum assignment,
44 // added containers for timing assignment and for holding status information.
45 // Anton Anastassov (Northwestern)
46 //
47 
49 public:
50  int nalgo = -1;
51 
53 
54  CaloTowersCreationAlgo(double EBthreshold,
55  double EEthreshold,
56 
57  bool useEtEBTreshold,
58  bool useEtEETreshold,
59  bool useSymEBTreshold,
60  bool useSymEETreshold,
61 
62  double HcalThreshold,
63  double HBthreshold,
64  double HBthreshold1,
65  double HBthreshold2,
66  double HESthreshold,
67  double HESthreshold1,
68  double HEDthreshold,
69  double HEDthreshold1,
70  double HOthreshold0,
71  double HOthresholdPlus1,
72  double HOthresholdMinus1,
73  double HOthresholdPlus2,
74  double HOthresholdMinus2,
75  double HF1threshold,
76  double HF2threshold,
77  double EBweight,
78  double EEweight,
79  double HBweight,
80  double HESweight,
81  double HEDweight,
82  double HOweight,
83  double HF1weight,
84  double HF2weight,
85  double EcutTower,
86  double EBSumThreshold,
87  double EESumThreshold,
88  bool useHO,
89  // (for momentum reconstruction algorithm)
90  int momConstrMethod,
91  double momHBDepth,
92  double momHEDepth,
93  double momEBDepth,
94  double momEEDepth,
95  int hcalPhase = 0);
96 
97  CaloTowersCreationAlgo(double EBthreshold,
98  double EEthreshold,
99 
100  bool useEtEBTreshold,
101  bool useEtEETreshold,
102  bool useSymEBTreshold,
103  bool useSymEETreshold,
104 
105  double HcalThreshold,
106  double HBthreshold,
107  double HBthreshold1,
108  double HBthreshold2,
109  double HESthreshold,
110  double HESthreshold1,
111  double HEDthreshold,
112  double HEDthreshold1,
113  double HOthreshold0,
114  double HOthresholdPlus1,
115  double HOthresholdMinus1,
116  double HOthresholdPlus2,
117  double HOthresholdMinus2,
118  double HF1threshold,
119  double HF2threshold,
120  const std::vector<double>& EBGrid,
121  const std::vector<double>& EBWeights,
122  const std::vector<double>& EEGrid,
123  const std::vector<double>& EEWeights,
124  const std::vector<double>& HBGrid,
125  const std::vector<double>& HBWeights,
126  const std::vector<double>& HESGrid,
127  const std::vector<double>& HESWeights,
128  const std::vector<double>& HEDGrid,
129  const std::vector<double>& HEDWeights,
130  const std::vector<double>& HOGrid,
131  const std::vector<double>& HOWeights,
132  const std::vector<double>& HF1Grid,
133  const std::vector<double>& HF1Weights,
134  const std::vector<double>& HF2Grid,
135  const std::vector<double>& HF2Weights,
136  double EBweight,
137  double EEweight,
138  double HBweight,
139  double HESweight,
140  double HEDweight,
141  double HOweight,
142  double HF1weight,
143  double HF2weight,
144  double EcutTower,
145  double EBSumThreshold,
146  double EESumThreshold,
147  bool useHO,
148  // (for momentum reconstruction algorithm)
149  int momConstrMethod,
150  double momHBDepth,
151  double momHEDepth,
152  double momEBDepth,
153  double momEEDepth,
154  int hcalPhase = 0);
155 
156  void setGeometry(const CaloTowerTopology* cttopo,
157  const CaloTowerConstituentsMap* ctmap,
158  const HcalTopology* htopo,
159  const CaloGeometry* geo);
160 
161  // pass the containers of channels status from the event record (stored in DB)
162  // these are called in CaloTowersCreator
165 
166  // Kake a map of number of channels not used in RecHit production.
167  // The key is the calotower id.
168  void makeHcalDropChMap();
169 
170  void makeEcalBadChs();
171 
172  void begin();
173  void process(const HBHERecHitCollection& hbhe);
174  void process(const HORecHitCollection& ho);
175  void process(const HFRecHitCollection& hf);
176  void process(const EcalRecHitCollection& ecal);
177 
178  void process(const CaloTowerCollection& ctc);
179 
180  void finish(CaloTowerCollection& destCollection);
181 
182  // modified rescale method
183  void rescaleTowers(const CaloTowerCollection& ctInput, CaloTowerCollection& ctResult);
184 
185  void setEBEScale(double scale);
186  void setEEEScale(double scale);
187  void setHBEScale(double scale);
188  void setHESEScale(double scale);
189  void setHEDEScale(double scale);
190  void setHOEScale(double scale);
191  void setHF1EScale(double scale);
192  void setHF2EScale(double scale);
193 
194  // Assign to categories based on info from DB and RecHit status
195  // Called in assignHit to check if the energy should be added to
196  // calotower, and how to flag the channel
197  unsigned int hcalChanStatusForCaloTower(const CaloRecHit* hit);
198  std::tuple<unsigned int, bool> ecalChanStatusForCaloTower(const EcalRecHit* hit);
199 
200  // Channel flagging is based on acceptable severity levels specified in the
201  // configuration file. These methods are used to pass the values read in
202  // CaloTowersCreator
203  //
204  // from DB
206  void setEcalSeveritiesToBeExcluded(const std::vector<int>& ecalSev) { theEcalSeveritiesToBeExcluded = ecalSev; }
207 
208  // flag to use recovered hits
211 
212  // severety level calculator for HCAL
214 
215  // severity level calculator for ECAL
217 
218  // The following are needed for creating towers from rechits excluded from the ------------------------------------
219  // default reconstructions
220 
221  // NB! Controls if rejected hits shold be used instead of the default!!!
223 
226  }
227  // void setEcalAcceptSeverityLevelForRejectedHit(unsigned int level) {theEcalAcceptSeverityLevelForRejectedHit = level;}
228  void SetEcalSeveritiesToBeUsedInBadTowers(const std::vector<int>& ecalSev) {
230  }
231 
235 
236  //-------------------------------------------------------------------------------------------------------------------
237 
238  // set the EE EB handles
239 
242 
243  // Add methods to get the seperate positions for ECAL/HCAL
244  // used in constructing the 4-vectors using new methods
245  GlobalPoint emCrystalShwrPos(DetId detId, float fracDepth);
246  GlobalPoint hadSegmentShwrPos(DetId detId, float fracDepth);
247  // "effective" point for the EM/HAD shower in CaloTower
248  // position based on non-zero energy cells
249  GlobalPoint hadShwrPos(const std::vector<std::pair<DetId, float>>& metaContains, float fracDepth, double hadE);
250  GlobalPoint emShwrPos(const std::vector<std::pair<DetId, float>>& metaContains, float fracDepth, double totEmE);
251 
252  // overloaded function to get had position based on all had cells in the tower
253  GlobalPoint hadShwrPos(CaloTowerDetId id, float fracDepth);
254  GlobalPoint hadShwPosFromCells(DetId frontCell, DetId backCell, float fracDepth);
255 
256  // for Chris
257  GlobalPoint emShwrLogWeightPos(const std::vector<std::pair<DetId, float>>& metaContains,
258  float fracDepth,
259  double totEmE);
260 
261 private:
262  struct MetaTower {
264  bool empty() const { return metaConstituents.empty(); }
265  // contains also energy of RecHit
266  std::vector<std::pair<DetId, float>> metaConstituents;
268  float E = 0, E_em = 0, E_had = 0, E_outer = 0;
270  hadSumEForTime = 0; // Sum(Energy x Timing) : intermediate container
271 
272  // needed to set CaloTower status word
275  };
276 
278  void assignHitEcal(const EcalRecHit* recHit);
279  void assignHitHcal(const CaloRecHit* recHit);
280 
281  void rescale(const CaloTower* ct);
282 
284  MetaTower& find(const CaloTowerDetId& id);
285 
287  void getThresholdAndWeight(const DetId& detId, double& threshold, double& weight) const;
288 
292 
294 
300  std::vector<double> theEBGrid, theEBWeights;
301  std::vector<double> theEEGrid, theEEWeights;
302  std::vector<double> theHBGrid, theHBWeights;
303  std::vector<double> theHESGrid, theHESWeights;
304  std::vector<double> theHEDGrid, theHEDWeights;
305  std::vector<double> theHOGrid, theHOWeights;
306  std::vector<double> theHF1Grid, theHF1Weights;
307  std::vector<double> theHF2Grid, theHF2Weights;
311 
312  double theEBEScale;
313  double theEEEScale;
314  double theHBEScale;
315  double theHESEScale;
316  double theHEDEScale;
317  double theHOEScale;
318  double theHF1EScale;
319  double theHF2EScale;
325 
326  // for checking the status of ECAL and HCAL channels stored in the DB
329 
330  // calculator of severety level for HCAL
332 
333  // calculator for severity level for ECAL
335 
336  // fields that hold the information passed from the CaloTowersCreator configuration file:
337  // controll what is considered bad/recovered/problematic channel for CaloTower purposes
338  //
341  // flag to use recovered hits
344 
345  // controls the tower reconstruction from rejected hits
346 
350 
353 
354  // if Hcal is missing, fudge it scaling Ecal by this factor (if > 0)
356 
359 
360  // Switches and paramters for CaloTower 4-momentum assignment
361  // "depth" variables do not affect all algorithms
367 
368  // compactify timing info
369  int compactTime(float time);
370 
372 
373  // internal map
374  typedef std::vector<MetaTower> MetaTowerMap;
376  unsigned int theTowerMapSize = 0;
377 
378  // Number of channels in the tower that were not used in RecHit production (dead/off,...).
379  // These channels are added to the other "bad" channels found in the recHit collection.
380  typedef std::map<CaloTowerDetId, std::pair<short int, bool>> HcalDropChMap;
382 
383  // Number of bad Ecal channel in each tower
384  //unsigned short ecalBadChs[CaloTowerDetId::kSizeForDenseIndexing];
385  std::vector<unsigned short> ecalBadChs;
386 
387  // clasification of channels in tower construction: the category definition is
388  // affected by the setting in the configuration file
389  //
391 
392  // the EE and EB collections for ecal anomalous cell info
393 
396 
398 
399  std::vector<HcalDetId> ids_;
400 };
401 
402 #endif
personalPlayback.level
level
Definition: personalPlayback.py:22
CaloTowersCreationAlgo::emShwrLogWeightPos
GlobalPoint emShwrLogWeightPos(const std::vector< std::pair< DetId, float >> &metaContains, float fracDepth, double totEmE)
Definition: CaloTowersCreationAlgo.cc:1597
CaloTowersCreationAlgo::IgnoredChan
Definition: CaloTowersCreationAlgo.h:390
EcalSeverityLevelAlgo
Definition: EcalSeverityLevelAlgo.h:33
CaloTowersCreationAlgo::theUseEtEBTresholdFlag
bool theUseEtEBTresholdFlag
Definition: CaloTowersCreationAlgo.h:290
HLT_2018_cff.HESGrid
HESGrid
Definition: HLT_2018_cff.py:7276
CaloTowersCreationAlgo::theMomConstrMethod
int theMomConstrMethod
Definition: CaloTowersCreationAlgo.h:362
EcalRecHit
Definition: EcalRecHit.h:15
HLT_2018_cff.HF2Weights
HF2Weights
Definition: HLT_2018_cff.py:7245
HLT_2018_cff.EBGrid
EBGrid
Definition: HLT_2018_cff.py:7300
CaloTowersCreationAlgo::setEcalChStatusFromDB
void setEcalChStatusFromDB(const EcalChannelStatus *s)
Definition: CaloTowersCreationAlgo.h:164
CaloTowersCreationAlgo::HcalDropChMap
std::map< CaloTowerDetId, std::pair< short int, bool > > HcalDropChMap
Definition: CaloTowersCreationAlgo.h:380
CaloTowersCreationAlgo::setHF1EScale
void setHF1EScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1383
CaloTowersCreationAlgo::emCrystalShwrPos
GlobalPoint emCrystalShwrPos(DetId detId, float fracDepth)
Definition: CaloTowersCreationAlgo.cc:1397
CaloTowersCreationAlgo::theEcalSeveritiesToBeUsedInBadTowers
std::vector< int > theEcalSeveritiesToBeUsedInBadTowers
Definition: CaloTowersCreationAlgo.h:349
HLT_2018_cff.HBGrid
HBGrid
Definition: HLT_2018_cff.py:7237
CaloTowersCreationAlgo::assignHitHcal
void assignHitHcal(const CaloRecHit *recHit)
Definition: CaloTowersCreationAlgo.cc:534
CaloTowersCreationAlgo::theEBSumThreshold
double theEBSumThreshold
Definition: CaloTowersCreationAlgo.h:310
CaloTowersCreationAlgo::setRecoveredHcalHitsAreUsed
void setRecoveredHcalHitsAreUsed(bool flag)
Definition: CaloTowersCreationAlgo.h:209
CaloTowersCreationAlgo::theMomEEDepth
double theMomEEDepth
Definition: CaloTowersCreationAlgo.h:366
CaloTowersCreationAlgo::theHcalTopology
const HcalTopology * theHcalTopology
Definition: CaloTowersCreationAlgo.h:321
HLT_2018_cff.EcutTower
EcutTower
Definition: HLT_2018_cff.py:7277
ESHandle.h
CaloTowersCreationAlgo::useRejectedRecoveredEcalHits
unsigned int useRejectedRecoveredEcalHits
Definition: CaloTowersCreationAlgo.h:352
CaloTowersCreationAlgo::MetaTower::numProbHcalCells
int numProbHcalCells
Definition: CaloTowersCreationAlgo.h:274
CaloTowersCreationAlgo::ids_
std::vector< HcalDetId > ids_
Definition: CaloTowersCreationAlgo.h:399
CaloTowersCreationAlgo::MetaTower::numBadHcalCells
int numBadHcalCells
Definition: CaloTowersCreationAlgo.h:273
CaloTowersCreationAlgo::theEBGrid
std::vector< double > theEBGrid
Definition: CaloTowersCreationAlgo.h:300
CaloTowersCreationAlgo::MetaTower::emSumTimeTimesE
float emSumTimeTimesE
Definition: CaloTowersCreationAlgo.h:269
CaloTowersCreationAlgo::setGeometry
void setGeometry(const CaloTowerTopology *cttopo, const CaloTowerConstituentsMap *ctmap, const HcalTopology *htopo, const CaloGeometry *geo)
Definition: CaloTowersCreationAlgo.cc:354
CaloTowersCreationAlgo::theHESweight
double theHESweight
Definition: CaloTowersCreationAlgo.h:309
CaloTowersCreationAlgo::finish
void finish(CaloTowerCollection &destCollection)
Definition: CaloTowersCreationAlgo.cc:404
CaloTowersCreationAlgo::setHOEScale
void setHOEScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1376
CaloTowersCreationAlgo::MetaTower::hadSumEForTime
float hadSumEForTime
Definition: CaloTowersCreationAlgo.h:270
CaloTowersCreationAlgo::theGeometry
const CaloGeometry * theGeometry
Definition: CaloTowersCreationAlgo.h:322
CaloTowersCreationAlgo::setEcalSevLvlAlgo
void setEcalSevLvlAlgo(const EcalSeverityLevelAlgo *a)
Definition: CaloTowersCreationAlgo.h:216
CaloTowersCreationAlgo::theHEDweight
double theHEDweight
Definition: CaloTowersCreationAlgo.h:309
CaloTowersCreationAlgo::RecoveredChan
Definition: CaloTowersCreationAlgo.h:390
PDWG_EXOHSCP_cff.useHO
useHO
Definition: PDWG_EXOHSCP_cff.py:116
CaloTowersCreationAlgo::rescale
void rescale(const CaloTower *ct)
Definition: CaloTowersCreationAlgo.cc:864
CaloTowersCreationAlgo::hcalChanStatusForCaloTower
unsigned int hcalChanStatusForCaloTower(const CaloRecHit *hit)
Definition: CaloTowersCreationAlgo.cc:1753
HcalTopology
Definition: HcalTopology.h:26
CaloTowersCreationAlgo::MetaTower::id
CaloTowerDetId id
Definition: CaloTowersCreationAlgo.h:267
CaloTowersCreationAlgo::theHF2Grid
std::vector< double > theHF2Grid
Definition: CaloTowersCreationAlgo.h:307
CaloTowersCreationAlgo::convert
void convert(const CaloTowerDetId &id, const MetaTower &mt, CaloTowerCollection &collection)
Definition: CaloTowersCreationAlgo.cc:924
CaloTowersCreationAlgo::theHF1EScale
double theHF1EScale
Definition: CaloTowersCreationAlgo.h:318
CaloTowersCreationAlgo::theTowerMap
MetaTowerMap theTowerMap
Definition: CaloTowersCreationAlgo.h:375
CaloTowersCreationAlgo::theHESthreshold
double theHESthreshold
Definition: CaloTowersCreationAlgo.h:296
CaloTowersCreationAlgo::theEEthreshold
double theEEthreshold
Definition: CaloTowersCreationAlgo.h:289
CaloTowerTopology
Definition: CaloTowerTopology.h:13
edm::SortedCollection
Definition: SortedCollection.h:49
CaloTowersCreationAlgo::theHBEScale
double theHBEScale
Definition: CaloTowersCreationAlgo.h:314
CaloTowersCreationAlgo::setHF2EScale
void setHF2EScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1390
CaloTowersCreationAlgo::missingHcalRescaleFactorForEcal
float missingHcalRescaleFactorForEcal
Definition: CaloTowersCreationAlgo.h:355
HcalChannelQuality
Definition: HcalChannelQuality.h:17
CaloTowersCreationAlgo::theEEWeights
std::vector< double > theEEWeights
Definition: CaloTowersCreationAlgo.h:301
CaloRecHit
Definition: CaloRecHit.h:23
CaloTowersCreationAlgo::ctHitCategory
ctHitCategory
Definition: CaloTowersCreationAlgo.h:390
CaloTowersCreationAlgo::theHcalAcceptSeverityLevelForRejectedHit
unsigned int theHcalAcceptSeverityLevelForRejectedHit
Definition: CaloTowersCreationAlgo.h:348
CaloTowersCreationAlgo::useRejectedHitsOnly
bool useRejectedHitsOnly
Definition: CaloTowersCreationAlgo.h:347
EcalCondObjectContainer< EcalChannelStatusCode >
edm::Handle
Definition: AssociativeIterator.h:50
CaloTowersCreationAlgo::theHOGrid
std::vector< double > theHOGrid
Definition: CaloTowersCreationAlgo.h:305
CaloTowersCreationAlgo::setUseRejectedRecoveredEcalHits
void setUseRejectedRecoveredEcalHits(bool flag)
Definition: CaloTowersCreationAlgo.h:233
CaloTowersCreationAlgo::theEcalChStatus
const EcalChannelStatus * theEcalChStatus
Definition: CaloTowersCreationAlgo.h:327
CaloTowersCreationAlgo::theTowerConstituentsMap
const CaloTowerConstituentsMap * theTowerConstituentsMap
Definition: CaloTowersCreationAlgo.h:323
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
EcalRecHitCollections.h
CaloTowersCreationAlgo::nalgo
int nalgo
Definition: CaloTowersCreationAlgo.h:50
CaloTowersCreationAlgo::theHOEScale
double theHOEScale
Definition: CaloTowersCreationAlgo.h:317
CaloTowersCreationAlgo::hadSegmentShwrPos
GlobalPoint hadSegmentShwrPos(DetId detId, float fracDepth)
Definition: CaloTowersCreationAlgo.cc:1412
CaloTowersCreationAlgo::MetaTowerMap
std::vector< MetaTower > MetaTowerMap
Definition: CaloTowersCreationAlgo.h:374
CaloTowersCreationAlgo::theEeHandle
edm::Handle< EcalRecHitCollection > theEeHandle
Definition: CaloTowersCreationAlgo.h:395
CaloTowersCreationAlgo::MetaTower::MetaTower
MetaTower()
Definition: CaloTowersCreationAlgo.h:263
CaloTowersCreationAlgo::find
MetaTower & find(const CaloTowerDetId &id)
looks for a given tower in the internal cache. If it can't find it, it makes it.
Definition: CaloTowersCreationAlgo.cc:908
CaloTowersCreationAlgo::setHBEScale
void setHBEScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1355
CaloTowersCreationAlgo::theHF2weight
double theHF2weight
Definition: CaloTowersCreationAlgo.h:309
CaloTowersCreationAlgo::theEcutTower
double theEcutTower
Definition: CaloTowersCreationAlgo.h:310
CaloTowersCreationAlgo::theHEDWeights
std::vector< double > theHEDWeights
Definition: CaloTowersCreationAlgo.h:304
CaloTowersCreationAlgo::theHF2threshold
double theHF2threshold
Definition: CaloTowersCreationAlgo.h:299
HLT_2018_cff.HF2Grid
HF2Grid
Definition: HLT_2018_cff.py:7298
CaloTowersCreationAlgo::theHOIsUsed
bool theHOIsUsed
only affects energy and ET calculation. HO is still recorded in the tower
Definition: CaloTowersCreationAlgo.h:358
DetId
Definition: DetId.h:17
CaloTowersCreationAlgo::compactTime
int compactTime(float time)
Definition: CaloTowersCreationAlgo.cc:1634
CaloTowersCreationAlgo::begin
void begin()
Definition: CaloTowersCreationAlgo.cc:368
CaloTowersCreationAlgo::theHF1weight
double theHF1weight
Definition: CaloTowersCreationAlgo.h:309
alignCSCRings.s
s
Definition: alignCSCRings.py:92
CaloGeometry
Definition: CaloGeometry.h:21
CaloTowersCreationAlgo::theHBGrid
std::vector< double > theHBGrid
Definition: CaloTowersCreationAlgo.h:302
CaloTowersCreationAlgo::MetaTower
Definition: CaloTowersCreationAlgo.h:262
photonIsolationHIProducer_cfi.hf
hf
Definition: photonIsolationHIProducer_cfi.py:9
CaloTowersCreationAlgo::theTowerMapSize
unsigned int theTowerMapSize
Definition: CaloTowersCreationAlgo.h:376
HLT_2018_cff.HF1Weights
HF1Weights
Definition: HLT_2018_cff.py:7272
CaloTowersCreationAlgo::hadShwrPos
GlobalPoint hadShwrPos(const std::vector< std::pair< DetId, float >> &metaContains, float fracDepth, double hadE)
CaloTowersCreationAlgo::makeEcalBadChs
void makeEcalBadChs()
Definition: CaloTowersCreationAlgo.cc:1710
CaloTowersCreationAlgo::setEeHandle
void setEeHandle(const edm::Handle< EcalRecHitCollection > ee)
Definition: CaloTowersCreationAlgo.h:241
CaloTowersCreationAlgo::assignHitEcal
void assignHitEcal(const EcalRecHit *recHit)
adds a single hit to the tower
Definition: CaloTowersCreationAlgo.cc:772
HcalSeverityLevelComputer
Definition: HcalSeverityLevelComputer.h:24
CaloTowersCreationAlgo::theHOthresholdPlus1
double theHOthresholdPlus1
Definition: CaloTowersCreationAlgo.h:298
CaloTowersCreationAlgo::theHcalChStatus
const HcalChannelQuality * theHcalChStatus
Definition: CaloTowersCreationAlgo.h:328
CaloTowersCreationAlgo::theHEDthreshold
double theHEDthreshold
Definition: CaloTowersCreationAlgo.h:297
CaloTowersCreationAlgo::theHESthreshold1
double theHESthreshold1
Definition: CaloTowersCreationAlgo.h:296
CaloTowerConstituentsMap
Definition: CaloTowerConstituentsMap.h:18
CaloTowersCreationAlgo::SetEcalSeveritiesToBeUsedInBadTowers
void SetEcalSeveritiesToBeUsedInBadTowers(const std::vector< int > &ecalSev)
Definition: CaloTowersCreationAlgo.h:228
CaloTowersCreationAlgo::CaloTowersCreationAlgo
CaloTowersCreationAlgo()
Definition: CaloTowersCreationAlgo.cc:14
DQMScaleToClient_cfi.factor
factor
Definition: DQMScaleToClient_cfi.py:8
CaloTowersCreationAlgo::MetaTower::numProbEcalCells
int numProbEcalCells
Definition: CaloTowersCreationAlgo.h:273
CaloTowersCreationAlgo::theHcalThreshold
double theHcalThreshold
Definition: CaloTowersCreationAlgo.h:293
CaloTowersCreationAlgo::theEBthreshold
double theEBthreshold
Definition: CaloTowersCreationAlgo.h:289
CaloTowersCreationAlgo::emShwrPos
GlobalPoint emShwrPos(const std::vector< std::pair< DetId, float >> &metaContains, float fracDepth, double totEmE)
Definition: CaloTowersCreationAlgo.cc:1567
Point3DBase< float, GlobalTag >
CaloTowersCreationAlgo::setEcalSeveritiesToBeExcluded
void setEcalSeveritiesToBeExcluded(const std::vector< int > &ecalSev)
Definition: CaloTowersCreationAlgo.h:206
EcalSeverityLevelAlgo.h
HLT_2018_cff.HEDGrid
HEDGrid
Definition: HLT_2018_cff.py:7290
CaloTowersCreationAlgo::setHcalChStatusFromDB
void setHcalChStatusFromDB(const HcalChannelQuality *s)
Definition: CaloTowersCreationAlgo.h:163
CaloTowersCreationAlgo::theMomEBDepth
double theMomEBDepth
Definition: CaloTowersCreationAlgo.h:365
HLT_2018_cff.HOGrid
HOGrid
Definition: HLT_2018_cff.py:7299
CaloTowersCreationAlgo::GoodChan
Definition: CaloTowersCreationAlgo.h:390
CaloTowersCreationAlgo::theHESWeights
std::vector< double > theHESWeights
Definition: CaloTowersCreationAlgo.h:303
HcalSeverityLevelComputerRcd.h
HLT_2018_cff.HBWeights
HBWeights
Definition: HLT_2018_cff.py:7252
CaloTowersCreationAlgo::setHEDEScale
void setHEDEScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1369
CaloTowersCreationAlgo::theHOweight
double theHOweight
Definition: CaloTowersCreationAlgo.h:309
CaloTowersCreationAlgo::setHcalSevLvlComputer
void setHcalSevLvlComputer(const HcalSeverityLevelComputer *c)
Definition: CaloTowersCreationAlgo.h:213
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
CaloTowersCreationAlgo::theHEDGrid
std::vector< double > theHEDGrid
Definition: CaloTowersCreationAlgo.h:304
CaloTowersCreationAlgo::theMomHBDepth
double theMomHBDepth
Definition: CaloTowersCreationAlgo.h:363
CaloTowersCreationAlgo::setRecoveredEcalHitsAreUsed
void setRecoveredEcalHitsAreUsed(bool flag)
Definition: CaloTowersCreationAlgo.h:210
CaloTowersCreationAlgo::setEEEScale
void setEEEScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1348
CaloTowersCreationAlgo::theEEGrid
std::vector< double > theEEGrid
Definition: CaloTowersCreationAlgo.h:301
CaloTowersCreationAlgo::theHcalPhase
int theHcalPhase
Definition: CaloTowersCreationAlgo.h:397
a
double a
Definition: hdecay.h:119
CaloTowersCreationAlgo::theHOthreshold0
double theHOthreshold0
Definition: CaloTowersCreationAlgo.h:298
CaloTowersCreationAlgo::MetaTower::hadSumTimeTimesE
float hadSumTimeTimesE
Definition: CaloTowersCreationAlgo.h:269
CaloTowersCreationAlgo::setHcalAcceptSeverityLevel
void setHcalAcceptSeverityLevel(unsigned int level)
Definition: CaloTowersCreationAlgo.h:205
CaloTowersCreationAlgo::theEBWeights
std::vector< double > theEBWeights
Definition: CaloTowersCreationAlgo.h:300
CaloTowersCreationAlgo::theHF1Weights
std::vector< double > theHF1Weights
Definition: CaloTowersCreationAlgo.h:306
CaloTowersCreationAlgo::theHcalAcceptSeverityLevel
unsigned int theHcalAcceptSeverityLevel
Definition: CaloTowersCreationAlgo.h:339
CaloTowersCreationAlgo::process
void process(const HBHERecHitCollection &hbhe)
Definition: CaloTowersCreationAlgo.cc:374
CaloTowersCreationAlgo::makeHcalDropChMap
void makeHcalDropChMap()
Definition: CaloTowersCreationAlgo.cc:1649
CaloTowersCreationAlgo::MetaTower::emSumEForTime
float emSumEForTime
Definition: CaloTowersCreationAlgo.h:269
CaloTower
Definition: CaloTower.h:26
CaloTowersCreationAlgo::MetaTower::metaConstituents
std::vector< std::pair< DetId, float > > metaConstituents
Definition: CaloTowersCreationAlgo.h:266
CaloTowersCreationAlgo::setHcalAcceptSeverityLevelForRejectedHit
void setHcalAcceptSeverityLevelForRejectedHit(unsigned int level)
Definition: CaloTowersCreationAlgo.h:224
universalConfigTemplate.collection
collection
Definition: universalConfigTemplate.py:81
CaloTowersCreationAlgo::theHEDEScale
double theHEDEScale
Definition: CaloTowersCreationAlgo.h:316
HLT_2018_cff.HEDWeights
HEDWeights
Definition: HLT_2018_cff.py:7256
CaloTowersCreationAlgo::theHBthreshold
double theHBthreshold
Definition: CaloTowersCreationAlgo.h:295
photonIsolationHIProducer_cfi.ho
ho
Definition: photonIsolationHIProducer_cfi.py:10
HLT_2018_cff.HF1Grid
HF1Grid
Definition: HLT_2018_cff.py:7258
CaloTowersCreationAlgo::useRejectedRecoveredHcalHits
unsigned int useRejectedRecoveredHcalHits
Definition: CaloTowersCreationAlgo.h:351
CaloTowerDetId.h
CaloTowersCreationAlgo::theMomHEDepth
double theMomHEDepth
Definition: CaloTowersCreationAlgo.h:364
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
HLT_2018_cff.EBSumThreshold
EBSumThreshold
Definition: HLT_2018_cff.py:7229
CaloTowersCreationAlgo::hadShwPosFromCells
GlobalPoint hadShwPosFromCells(DetId frontCell, DetId backCell, float fracDepth)
Definition: CaloTowersCreationAlgo.cc:1540
CaloTowersCreationAlgo::MetaTower::E_outer
float E_outer
Definition: CaloTowersCreationAlgo.h:268
HcalChannelQualityRcd.h
CaloTowersCreationAlgo::theEESumThreshold
double theEESumThreshold
Definition: CaloTowersCreationAlgo.h:310
CaloTowersCreationAlgo::rescaleTowers
void rescaleTowers(const CaloTowerCollection &ctInput, CaloTowerCollection &ctResult)
Definition: CaloTowersCreationAlgo.cc:426
HcalChannelQuality.h
CaloTowerCollection.h
photonIsolationHIProducer_cfi.hbhe
hbhe
Definition: photonIsolationHIProducer_cfi.py:8
CaloTowersCreationAlgo::setMissingHcalRescaleFactorForEcal
void setMissingHcalRescaleFactorForEcal(float factor)
Definition: CaloTowersCreationAlgo.h:234
CaloTowersCreationAlgo::theHBthreshold2
double theHBthreshold2
Definition: CaloTowersCreationAlgo.h:295
HLT_2018_cff.HOWeights
HOWeights
Definition: HLT_2018_cff.py:7246
CaloTowersCreationAlgo::theEbHandle
edm::Handle< EcalRecHitCollection > theEbHandle
Definition: CaloTowersCreationAlgo.h:394
CaloTowersCreationAlgo::setEbHandle
void setEbHandle(const edm::Handle< EcalRecHitCollection > eb)
Definition: CaloTowersCreationAlgo.h:240
CaloTowersCreationAlgo::theTowerGeometry
const CaloSubdetectorGeometry * theTowerGeometry
Definition: CaloTowersCreationAlgo.h:324
CaloTowersCreationAlgo::theHF2Weights
std::vector< double > theHF2Weights
Definition: CaloTowersCreationAlgo.h:307
CaloTowersCreationAlgo::theEEweight
double theEEweight
Definition: CaloTowersCreationAlgo.h:308
CaloTowersCreationAlgo::theHcalSevLvlComputer
const HcalSeverityLevelComputer * theHcalSevLvlComputer
Definition: CaloTowersCreationAlgo.h:331
CaloTowersCreationAlgo::MetaTower::E_em
float E_em
Definition: CaloTowersCreationAlgo.h:268
CaloTowersCreationAlgo::theHOthresholdMinus2
double theHOthresholdMinus2
Definition: CaloTowersCreationAlgo.h:299
CaloTowersCreationAlgo
Definition: CaloTowersCreationAlgo.h:48
CaloTowersCreationAlgo::theHOthresholdMinus1
double theHOthresholdMinus1
Definition: CaloTowersCreationAlgo.h:298
CaloTowersCreationAlgo::MetaTower::E
float E
Definition: CaloTowersCreationAlgo.h:268
CaloTowersCreationAlgo::theHBweight
double theHBweight
Definition: CaloTowersCreationAlgo.h:309
CaloTowersCreationAlgo::theEBEScale
double theEBEScale
Definition: CaloTowersCreationAlgo.h:312
CaloTowersCreationAlgo::getThresholdAndWeight
void getThresholdAndWeight(const DetId &detId, double &threshold, double &weight) const
helper method to look up the appropriate threshold & weight
Definition: CaloTowersCreationAlgo.cc:1245
CaloTowersCreationAlgo::theEEEScale
double theEEEScale
Definition: CaloTowersCreationAlgo.h:313
CaloTowersCreationAlgo::theHOthresholdPlus2
double theHOthresholdPlus2
Definition: CaloTowersCreationAlgo.h:299
HLT_2018_cff.HESWeights
HESWeights
Definition: HLT_2018_cff.py:7280
CaloTowersCreationAlgo::theEcalSeveritiesToBeExcluded
std::vector< int > theEcalSeveritiesToBeExcluded
Definition: CaloTowersCreationAlgo.h:340
HLT_2018_cff.EBWeights
EBWeights
Definition: HLT_2018_cff.py:7259
CaloTowersCreationAlgo::hcalDropChMap
HcalDropChMap hcalDropChMap
Definition: CaloTowersCreationAlgo.h:381
CaloTowersCreationAlgo::ecalBadChs
std::vector< unsigned short > ecalBadChs
Definition: CaloTowersCreationAlgo.h:385
CaloTowersCreationAlgo::setEBEScale
void setEBEScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1341
CaloTowersCreationAlgo::MetaTower::numBadEcalCells
int numBadEcalCells
Definition: CaloTowersCreationAlgo.h:273
CaloTowersCreationAlgo::ProblematicChan
Definition: CaloTowersCreationAlgo.h:390
TtSemiLepEvtBuilder_cfi.mt
mt
Definition: TtSemiLepEvtBuilder_cfi.py:47
CaloTowersCreationAlgo::theHESGrid
std::vector< double > theHESGrid
Definition: CaloTowersCreationAlgo.h:303
HLT_2018_cff.EESumThreshold
EESumThreshold
Definition: HLT_2018_cff.py:7236
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
HcalRecHitCollections.h
HLT_2018_cff.HcalThreshold
HcalThreshold
Definition: HLT_2018_cff.py:7244
HcalSeverityLevelComputer.h
CaloTowersCreationAlgo::theHESEScale
double theHESEScale
Definition: CaloTowersCreationAlgo.h:315
CaloTowersCreationAlgo::MetaTower::numRecEcalCells
int numRecEcalCells
Definition: CaloTowersCreationAlgo.h:273
CaloTowersCreationAlgo::theEcalSevLvlAlgo
const EcalSeverityLevelAlgo * theEcalSevLvlAlgo
Definition: CaloTowersCreationAlgo.h:334
bsc_activity_cfg.ecal
ecal
Definition: bsc_activity_cfg.py:25
CaloTowersCreationAlgo::MetaTower::numRecHcalCells
int numRecHcalCells
Definition: CaloTowersCreationAlgo.h:273
CaloTowersCreationAlgo::setUseRejectedHitsOnly
void setUseRejectedHitsOnly(bool flag)
Definition: CaloTowersCreationAlgo.h:222
CaloTowersCreationAlgo::theHF1Grid
std::vector< double > theHF1Grid
Definition: CaloTowersCreationAlgo.h:306
CaloTowersCreationAlgo::MetaTower::empty
bool empty() const
Definition: CaloTowersCreationAlgo.h:264
HLT_2018_cff.EEWeights
EEWeights
Definition: HLT_2018_cff.py:7249
CaloTowersCreationAlgo::theHBWeights
std::vector< double > theHBWeights
Definition: CaloTowersCreationAlgo.h:302
CaloTowersCreationAlgo::setHESEScale
void setHESEScale(double scale)
Definition: CaloTowersCreationAlgo.cc:1362
CaloTowersCreationAlgo::theUseEtEETresholdFlag
bool theUseEtEETresholdFlag
Definition: CaloTowersCreationAlgo.h:290
CaloTowersCreationAlgo::theTowerTopology
const CaloTowerTopology * theTowerTopology
Definition: CaloTowersCreationAlgo.h:320
CaloTowersCreationAlgo::theUseSymEBTresholdFlag
bool theUseSymEBTresholdFlag
Definition: CaloTowersCreationAlgo.h:291
CaloTowersCreationAlgo::MetaTower::E_had
float E_had
Definition: CaloTowersCreationAlgo.h:268
CaloTowersCreationAlgo::setUseRejectedRecoveredHcalHits
void setUseRejectedRecoveredHcalHits(bool flag)
Definition: CaloTowersCreationAlgo.h:232
CaloTowersCreationAlgo::theHOWeights
std::vector< double > theHOWeights
Definition: CaloTowersCreationAlgo.h:305
CaloTowersCreationAlgo::theHF1threshold
double theHF1threshold
Definition: CaloTowersCreationAlgo.h:299
ntuplemaker.time
time
Definition: ntuplemaker.py:310
remoteMonitoring_LED_IterMethod_cfg.threshold
threshold
Definition: remoteMonitoring_LED_IterMethod_cfg.py:426
CaloTowersCreationAlgo::theUseSymEETresholdFlag
bool theUseSymEETresholdFlag
Definition: CaloTowersCreationAlgo.h:291
CaloTowersCreationAlgo::ecalChanStatusForCaloTower
std::tuple< unsigned int, bool > ecalChanStatusForCaloTower(const EcalRecHit *hit)
Definition: CaloTowersCreationAlgo.cc:1804
CaloTowersCreationAlgo::theHEDthreshold1
double theHEDthreshold1
Definition: CaloTowersCreationAlgo.h:297
CaloTowersCreationAlgo::theHBthreshold1
double theHBthreshold1
Definition: CaloTowersCreationAlgo.h:295
CaloTowersCreationAlgo::theRecoveredHcalHitsAreUsed
bool theRecoveredHcalHitsAreUsed
Definition: CaloTowersCreationAlgo.h:342
EcalChannelStatus.h
GlobalPoint.h
CaloTowersCreationAlgo::theHF2EScale
double theHF2EScale
Definition: CaloTowersCreationAlgo.h:319
HLT_2018_cff.EEGrid
EEGrid
Definition: HLT_2018_cff.py:7247
CaloTowersCreationAlgo::theRecoveredEcalHitsAreUsed
bool theRecoveredEcalHitsAreUsed
Definition: CaloTowersCreationAlgo.h:343
weight
Definition: weight.py:1
EcalChannelStatusRcd.h
CaloTowersCreationAlgo::theEBweight
double theEBweight
Definition: CaloTowersCreationAlgo.h:308
hit
Definition: SiStripHitEffFromCalibTree.cc:88
RemoveAddSevLevel.flag
flag
Definition: RemoveAddSevLevel.py:116
CaloTowerDetId
Definition: CaloTowerDetId.h:12
CaloTowersCreationAlgo::BadChan
Definition: CaloTowersCreationAlgo.h:390