CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes
EcalUncalibRecHitWorkerWeights Class Reference

#include <EcalUncalibRecHitWorkerWeights.h>

Inheritance diagram for EcalUncalibRecHitWorkerWeights:
EcalUncalibRecHitWorkerRunOneDigiBase EcalUncalibRecHitWorkerBaseClass

Public Member Functions

 EcalUncalibRecHitWorkerWeights ()
 
 EcalUncalibRecHitWorkerWeights (const edm::ParameterSet &, edm::ConsumesCollector &c)
 
edm::ParameterSetDescription getAlgoDescription () override
 
bool run (const edm::Event &evt, const EcalDigiCollection::const_iterator &digi, EcalUncalibratedRecHitCollection &result) override
 
void set (const edm::EventSetup &es) override
 
 ~EcalUncalibRecHitWorkerWeights () override
 
- Public Member Functions inherited from EcalUncalibRecHitWorkerRunOneDigiBase
 EcalUncalibRecHitWorkerRunOneDigiBase ()
 
 EcalUncalibRecHitWorkerRunOneDigiBase (const edm::ParameterSet &p)
 
 EcalUncalibRecHitWorkerRunOneDigiBase (const edm::ParameterSet &p, edm::ConsumesCollector &c)
 
void run (const edm::Event &evt, const EcalDigiCollection &digis, EcalUncalibratedRecHitCollection &result) override
 
 ~EcalUncalibRecHitWorkerRunOneDigiBase () override
 
- Public Member Functions inherited from EcalUncalibRecHitWorkerBaseClass
 EcalUncalibRecHitWorkerBaseClass ()
 
 EcalUncalibRecHitWorkerBaseClass (const edm::ParameterSet &)
 
 EcalUncalibRecHitWorkerBaseClass (const edm::ParameterSet &, edm::ConsumesCollector &c)
 
virtual void set (const edm::Event &evt)
 
virtual ~EcalUncalibRecHitWorkerBaseClass ()
 

Protected Attributes

const EcalWeightSet::EcalChi2WeightMatrixchi2mat [2]
 
double gainRatios [3]
 
edm::ESHandle< EcalGainRatiosgains
 
edm::ESHandle< EcalWeightXtalGroupsgrps
 
double pedRMSVec [3]
 
edm::ESHandle< EcalPedestalspeds
 
double pedVec [3]
 
EBShape testbeamEBShape
 
EEShape testbeamEEShape
 
EcalUncalibRecHitRecWeightsAlgo< EBDataFrameuncalibMaker_barrel_
 
EcalUncalibRecHitRecWeightsAlgo< EEDataFrameuncalibMaker_endcap_
 
const EcalWeightSet::EcalWeightMatrixweights [2]
 
edm::ESHandle< EcalTBWeightswgts
 

Detailed Description

Definition at line 29 of file EcalUncalibRecHitWorkerWeights.h.

Constructor & Destructor Documentation

◆ EcalUncalibRecHitWorkerWeights() [1/2]

EcalUncalibRecHitWorkerWeights::EcalUncalibRecHitWorkerWeights ( const edm::ParameterSet ps,
edm::ConsumesCollector c 
)

◆ EcalUncalibRecHitWorkerWeights() [2/2]

EcalUncalibRecHitWorkerWeights::EcalUncalibRecHitWorkerWeights ( )
inline

Definition at line 32 of file EcalUncalibRecHitWorkerWeights.h.

32 : testbeamEEShape(EEShape(true)), testbeamEBShape(EBShape(true)) { ; }

◆ ~EcalUncalibRecHitWorkerWeights()

EcalUncalibRecHitWorkerWeights::~EcalUncalibRecHitWorkerWeights ( )
inlineoverride

Definition at line 33 of file EcalUncalibRecHitWorkerWeights.h.

33 {};

Member Function Documentation

◆ getAlgoDescription()

edm::ParameterSetDescription EcalUncalibRecHitWorkerWeights::getAlgoDescription ( )
overridevirtual

Implements EcalUncalibRecHitWorkerBaseClass.

Definition at line 112 of file EcalUncalibRecHitWorkerWeights.cc.

112  {
114  return psd;
115 }

◆ run()

bool EcalUncalibRecHitWorkerWeights::run ( const edm::Event evt,
const EcalDigiCollection::const_iterator digi,
EcalUncalibratedRecHitCollection result 
)
overridevirtual

Implements EcalUncalibRecHitWorkerRunOneDigiBase.

Definition at line 30 of file EcalUncalibRecHitWorkerWeights.cc.

32  {
33  DetId detid(itdg->id());
34 
35  const EcalPedestals::Item* aped = nullptr;
36  const EcalMGPAGainRatio* aGain = nullptr;
37  const EcalXtalGroupId* gid = nullptr;
38  EcalTBWeights::EcalTDCId tdcid(1);
39 
40  if (detid.subdetId() == EcalEndcap) {
41  unsigned int hashedIndex = EEDetId(detid).hashedIndex();
42  aped = &peds->endcap(hashedIndex);
43  aGain = &gains->endcap(hashedIndex);
44  gid = &grps->endcap(hashedIndex);
45  } else {
46  unsigned int hashedIndex = EBDetId(detid).hashedIndex();
47  aped = &peds->barrel(hashedIndex);
48  aGain = &gains->barrel(hashedIndex);
49  gid = &grps->barrel(hashedIndex);
50  }
51 
52  pedVec[0] = aped->mean_x12;
53  pedVec[1] = aped->mean_x6;
54  pedVec[2] = aped->mean_x1;
55  pedRMSVec[0] = aped->rms_x12;
56  pedRMSVec[1] = aped->rms_x6;
57  pedRMSVec[2] = aped->rms_x1;
58  gainRatios[0] = 1.;
59  gainRatios[1] = aGain->gain12Over6();
60  gainRatios[2] = aGain->gain6Over1() * aGain->gain12Over6();
61 
62  // now lookup the correct weights in the map
63  EcalTBWeights::EcalTBWeightMap const& wgtsMap = wgts->getMap();
64  EcalTBWeights::EcalTBWeightMap::const_iterator wit;
65  wit = wgtsMap.find(std::make_pair(*gid, tdcid));
66  if (wit == wgtsMap.end()) {
67  edm::LogError("EcalUncalibRecHitError")
68  << "No weights found for EcalGroupId: " << gid->id() << " and EcalTDCId: " << tdcid
69  << "\n skipping digi with id: " << detid.rawId();
70 
71  return false;
72  }
73  const EcalWeightSet& wset = wit->second; // this is the EcalWeightSet
74 
77  // const EcalWeightSet::EcalChi2WeightMatrix& mat3 = wset.getChi2WeightsBeforeGainSwitch();
78  // const EcalWeightSet::EcalChi2WeightMatrix& mat4 = wset.getChi2WeightsAfterGainSwitch();
79 
80  weights[0] = &mat1;
81  weights[1] = &mat2;
82 
83  // chi2mat[0] = &mat3;
84  // chi2mat[1] = &mat4;
85  /*
86  if (detid.subdetId()==EcalEndcap) {
87  result.push_back(uncalibMaker_endcap_.makeRecHit(*itdg, pedVec, gainRatios, weights, chi2mat));
88  } else {
89  result.push_back(uncalibMaker_barrel_.makeRecHit(*itdg, pedVec, gainRatios, weights, chi2mat));
90  }
91 */
92  if (detid.subdetId() == EcalEndcap) {
95  if (((EcalDataFrame)(*itdg)).hasSwitchToGain6())
97  if (((EcalDataFrame)(*itdg)).hasSwitchToGain1())
99  result.emplace_back(rhit);
100  } else {
103  if (((EcalDataFrame)(*itdg)).hasSwitchToGain6())
105  if (((EcalDataFrame)(*itdg)).hasSwitchToGain1())
107  result.emplace_back(rhit);
108  }
109  return true;
110 }

References EcalEndcap, EcalMGPAGainRatio::gain12Over6(), EcalMGPAGainRatio::gain6Over1(), gainRatios, gains, EcalTBWeights::getMap(), EcalWeightSet::getWeightsAfterGainSwitch(), EcalWeightSet::getWeightsBeforeGainSwitch(), grps, ecalpyutils::hashedIndex(), EBDetId::hashedIndex(), EEDetId::hashedIndex(), EcalXtalGroupId::id(), EcalUncalibratedRecHit::kHasSwitchToGain1, EcalUncalibratedRecHit::kHasSwitchToGain6, EcalUncalibRecHitRecWeightsAlgo< C >::makeRecHit(), pedRMSVec, peds, pedVec, mps_fire::result, EcalUncalibratedRecHit::setFlagBit(), testbeamEBShape, testbeamEEShape, uncalibMaker_endcap_, weights, and wgts.

◆ set()

void EcalUncalibRecHitWorkerWeights::set ( const edm::EventSetup es)
overridevirtual

Member Data Documentation

◆ chi2mat

const EcalWeightSet::EcalChi2WeightMatrix* EcalUncalibRecHitWorkerWeights::chi2mat[2]
protected

Definition at line 53 of file EcalUncalibRecHitWorkerWeights.h.

◆ gainRatios

double EcalUncalibRecHitWorkerWeights::gainRatios[3]
protected

Definition at line 50 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run().

◆ gains

edm::ESHandle<EcalGainRatios> EcalUncalibRecHitWorkerWeights::gains
protected

Definition at line 44 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run(), and set().

◆ grps

edm::ESHandle<EcalWeightXtalGroups> EcalUncalibRecHitWorkerWeights::grps
protected

Definition at line 45 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run(), and set().

◆ pedRMSVec

double EcalUncalibRecHitWorkerWeights::pedRMSVec[3]
protected

Definition at line 49 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run().

◆ peds

edm::ESHandle<EcalPedestals> EcalUncalibRecHitWorkerWeights::peds
protected

Definition at line 43 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run(), and set().

◆ pedVec

double EcalUncalibRecHitWorkerWeights::pedVec[3]
protected

Definition at line 48 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run().

◆ testbeamEBShape

EBShape EcalUncalibRecHitWorkerWeights::testbeamEBShape
protected

Definition at line 59 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run(), and set().

◆ testbeamEEShape

EEShape EcalUncalibRecHitWorkerWeights::testbeamEEShape
protected

Definition at line 58 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run(), and set().

◆ uncalibMaker_barrel_

EcalUncalibRecHitRecWeightsAlgo<EBDataFrame> EcalUncalibRecHitWorkerWeights::uncalibMaker_barrel_
protected

Definition at line 55 of file EcalUncalibRecHitWorkerWeights.h.

◆ uncalibMaker_endcap_

EcalUncalibRecHitRecWeightsAlgo<EEDataFrame> EcalUncalibRecHitWorkerWeights::uncalibMaker_endcap_
protected

Definition at line 56 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run().

◆ weights

const EcalWeightSet::EcalWeightMatrix* EcalUncalibRecHitWorkerWeights::weights[2]
protected

Definition at line 52 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run().

◆ wgts

edm::ESHandle<EcalTBWeights> EcalUncalibRecHitWorkerWeights::wgts
protected

Definition at line 46 of file EcalUncalibRecHitWorkerWeights.h.

Referenced by run(), and set().

EcalUncalibratedRecHit::kHasSwitchToGain6
Definition: EcalUncalibratedRecHit.h:18
EcalUncalibRecHitWorkerWeights::uncalibMaker_endcap_
EcalUncalibRecHitRecWeightsAlgo< EEDataFrame > uncalibMaker_endcap_
Definition: EcalUncalibRecHitWorkerWeights.h:56
EcalUncalibRecHitWorkerWeights::testbeamEEShape
EEShape testbeamEEShape
Definition: EcalUncalibRecHitWorkerWeights.h:58
EBDetId::hashedIndex
int hashedIndex() const
get a compact index for arrays
Definition: EBDetId.h:82
EcalTBWeights::getMap
const EcalTBWeightMap & getMap() const
Definition: EcalTBWeights.h:28
EcalShapeBase::setEventSetup
void setEventSetup(const edm::EventSetup &evtSetup)
Definition: EcalShapeBase.cc:19
EBShape
Definition: EBShape.h:6
EcalUncalibRecHitWorkerWeights::pedVec
double pedVec[3]
Definition: EcalUncalibRecHitWorkerWeights.h:48
EBDetId
Definition: EBDetId.h:17
EcalUncalibRecHitWorkerWeights::wgts
edm::ESHandle< EcalTBWeights > wgts
Definition: EcalUncalibRecHitWorkerWeights.h:46
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
EcalDataFrame
Definition: EcalDataFrame.h:16
EcalXtalGroupId
Definition: EcalXtalGroupId.h:11
EcalTBWeightsRcd
Definition: EcalTBWeightsRcd.h:5
EcalUncalibratedRecHit::setFlagBit
void setFlagBit(Flags flag)
Definition: EcalUncalibratedRecHit.cc:99
EcalWeightSet::EcalWeightMatrix
math::Matrix< 3, 10 >::type EcalWeightMatrix
Definition: EcalWeightSet.h:19
DetId
Definition: DetId.h:17
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
EcalUncalibRecHitWorkerWeights::grps
edm::ESHandle< EcalWeightXtalGroups > grps
Definition: EcalUncalibRecHitWorkerWeights.h:45
EcalWeightSet::getWeightsAfterGainSwitch
EcalWeightMatrix & getWeightsAfterGainSwitch()
Definition: EcalWeightSet.h:27
EEShape
Definition: EEShape.h:6
EcalMGPAGainRatio::gain12Over6
float gain12Over6() const
Definition: EcalMGPAGainRatio.h:19
EcalUncalibRecHitWorkerWeights::gainRatios
double gainRatios[3]
Definition: EcalUncalibRecHitWorkerWeights.h:50
EEDetId
Definition: EEDetId.h:14
EcalUncalibRecHitWorkerWeights::testbeamEBShape
EBShape testbeamEBShape
Definition: EcalUncalibRecHitWorkerWeights.h:59
EcalGainRatiosRcd
Definition: EcalGainRatiosRcd.h:5
EcalEndcap
Definition: EcalSubdetector.h:10
EcalUncalibRecHitWorkerWeights::peds
edm::ESHandle< EcalPedestals > peds
Definition: EcalUncalibRecHitWorkerWeights.h:43
EcalWeightSet::getWeightsBeforeGainSwitch
EcalWeightMatrix & getWeightsBeforeGainSwitch()
Definition: EcalWeightSet.h:26
EcalUncalibRecHitWorkerWeights::weights
const EcalWeightSet::EcalWeightMatrix * weights[2]
Definition: EcalUncalibRecHitWorkerWeights.h:52
EcalTBWeights::EcalTDCId
int EcalTDCId
Definition: EcalTBWeights.h:17
edm::LogError
Definition: MessageLogger.h:183
EEDetId::hashedIndex
int hashedIndex() const
Definition: EEDetId.h:183
EcalUncalibRecHitWorkerRunOneDigiBase::EcalUncalibRecHitWorkerRunOneDigiBase
EcalUncalibRecHitWorkerRunOneDigiBase()
Definition: EcalUncalibRecHitWorkerRunOneDigiBase.h:15
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
get
#define get
EcalTBWeights::EcalTBWeightMap
std::map< std::pair< EcalXtalGroupId, EcalTDCId >, EcalWeightSet > EcalTBWeightMap
Definition: EcalTBWeights.h:18
EcalWeightSet
Definition: EcalWeightSet.h:17
EcalUncalibratedRecHit
Definition: EcalUncalibratedRecHit.h:8
EcalMGPAGainRatio::gain6Over1
float gain6Over1() const
Definition: EcalMGPAGainRatio.h:20
EcalPedestal
Definition: EcalPedestals.h:8
EcalUncalibRecHitRecWeightsAlgo::makeRecHit
virtual EcalUncalibratedRecHit makeRecHit(const C &dataFrame, const double *pedestals, const double *pedestalsRMS, const double *gainRatios, const EcalWeightSet::EcalWeightMatrix **weights, const EcalShapeBase &testbeamPulseShape)
Compute parameters.
Definition: EcalUncalibRecHitRecWeightsAlgo.h:30
EcalXtalGroupId::id
unsigned int id() const
Definition: EcalXtalGroupId.h:22
mps_fire.result
result
Definition: mps_fire.py:303
EcalWeightXtalGroupsRcd
Definition: EcalWeightXtalGroupsRcd.h:5
EcalPedestalsRcd
Definition: EcalPedestalsRcd.h:5
EcalUncalibratedRecHit::kHasSwitchToGain1
Definition: EcalUncalibratedRecHit.h:19
ecalpyutils::hashedIndex
int hashedIndex(int ieta, int iphi)
Definition: EcalPyUtils.cc:38
EcalUncalibRecHitWorkerWeights::gains
edm::ESHandle< EcalGainRatios > gains
Definition: EcalUncalibRecHitWorkerWeights.h:44
EcalMGPAGainRatio
Definition: EcalMGPAGainRatio.h:13
EcalUncalibRecHitWorkerWeights::pedRMSVec
double pedRMSVec[3]
Definition: EcalUncalibRecHitWorkerWeights.h:49