CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
Phase2ITRecHitHarvester Class Reference
Inheritance diagram for Phase2ITRecHitHarvester:
DQMEDHarvester edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void dqmEndJob (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override
 
 Phase2ITRecHitHarvester (const edm::ParameterSet &)
 
 ~Phase2ITRecHitHarvester () override
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &) override
 
virtual void dqmAnalyze (DQMStore::IBooker &, DQMStore::IGetter &, edm::Event const &, edm::EventSetup const &)
 
 DQMEDHarvester (edm::ParameterSet const &iConfig)
 
 DQMEDHarvester ()
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (DQMStore::IBooker &, DQMStore::IGetter &, edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &es) final
 
void endProcessBlockProduce (edm::ProcessBlock &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &es) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const *> const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void dofitsForLayer (const std::string &iFolder, DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
 
void gausFitslices (MonitorElement *srcME, MonitorElement *meanME, MonitorElement *sigmaME)
 

Private Attributes

const edm::ParameterSet config_
 
const std::string deltaXvsEtaname_
 
const std::string deltaXvsPhiname_
 
const std::string deltaYvsEtaname_
 
const std::string deltaYvsPhiname_
 
const std::string ecapdisk1Name_
 
const std::string ecapdisk2Name_
 
const unsigned int fitThreshold_
 
const std::string histoPhiname_
 
const unsigned int nbarrelLayers_
 
const unsigned int ndisk1Rings_
 
const unsigned int ndisk2Rings_
 
const std::string topFolder_
 

Additional Inherited Members

- Public Types inherited from DQMEDHarvester
typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 
- Protected Attributes inherited from DQMEDHarvester
DQMStoredqmstore_
 
edm::GetterOfProducts< DQMTokenjobmegetter_
 
edm::EDPutTokenT< DQMTokenjobToken_
 
edm::GetterOfProducts< DQMTokenlumimegetter_
 
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::GetterOfProducts< DQMTokenrunmegetter_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 11 of file Phase2ITRecHitHarvester.cc.

Constructor & Destructor Documentation

◆ Phase2ITRecHitHarvester()

Phase2ITRecHitHarvester::Phase2ITRecHitHarvester ( const edm::ParameterSet iConfig)
explicit

Definition at line 39 of file Phase2ITRecHitHarvester.cc.

40  : config_(iConfig),
41  topFolder_(iConfig.getParameter<std::string>("TopFolder")),
42  nbarrelLayers_(iConfig.getParameter<uint32_t>("NbarrelLayers")),
43  ndisk1Rings_(iConfig.getParameter<uint32_t>("NDisk1Rings")),
44  ndisk2Rings_(iConfig.getParameter<uint32_t>("NDisk2Rings")),
45  fitThreshold_(iConfig.getParameter<uint32_t>("NFitThreshold")),
46  ecapdisk1Name_(iConfig.getParameter<std::string>("EcapDisk1Name")),
47  ecapdisk2Name_(iConfig.getParameter<std::string>("EcapDisk2Name")),
48  deltaXvsEtaname_(iConfig.getParameter<std::string>("ResidualXvsEta")),
49  deltaXvsPhiname_(iConfig.getParameter<std::string>("ResidualXvsPhi")),
50  deltaYvsEtaname_(iConfig.getParameter<std::string>("ResidualYvsEta")),
51  deltaYvsPhiname_(iConfig.getParameter<std::string>("ResidualYvsPhi")) {}
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ParameterSet config_

◆ ~Phase2ITRecHitHarvester()

Phase2ITRecHitHarvester::~Phase2ITRecHitHarvester ( )
override

Definition at line 53 of file Phase2ITRecHitHarvester.cc.

53 {}

Member Function Documentation

◆ dofitsForLayer()

void Phase2ITRecHitHarvester::dofitsForLayer ( const std::string &  iFolder,
DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
private

Definition at line 78 of file Phase2ITRecHitHarvester.cc.

References phase2tkharvestutil::book1DFromPSet(), dqm::implementation::NavigatorBase::cd(), config_, deltaXvsEtaname_, deltaXvsPhiname_, deltaYvsEtaname_, deltaYvsPhiname_, gausFitslices(), dqm::implementation::IGetter::get(), edm::ParameterSet::getParameter(), dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by dqmEndJob().

80  {
81  MonitorElement* deltaX_eta = igetter.get(iFolder + "/" + deltaXvsEtaname_);
82  MonitorElement* deltaX_phi = igetter.get(iFolder + "/" + deltaXvsPhiname_);
83  MonitorElement* deltaY_eta = igetter.get(iFolder + "/" + deltaYvsEtaname_);
84  MonitorElement* deltaY_phi = igetter.get(iFolder + "/" + deltaYvsPhiname_);
85 
86  std::string resFolder = iFolder + "/ResolutionFromFit/";
87 
88  ibooker.cd();
89  ibooker.setCurrentFolder(resFolder);
90  MonitorElement* sigmaX_eta =
92  MonitorElement* meanX_eta =
94 
95  gausFitslices(deltaX_eta, meanX_eta, sigmaX_eta);
96 
97  MonitorElement* sigmaY_eta =
99  MonitorElement* meanY_eta =
101  gausFitslices(deltaY_eta, meanY_eta, sigmaY_eta);
102 
103  MonitorElement* sigmaX_phi =
105  MonitorElement* meanX_phi =
107  gausFitslices(deltaX_phi, meanX_phi, sigmaX_phi);
108 
109  MonitorElement* sigmaY_phi =
111  MonitorElement* meanY_phi =
113  gausFitslices(deltaY_phi, meanY_phi, sigmaY_phi);
114 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
void gausFitslices(MonitorElement *srcME, MonitorElement *meanME, MonitorElement *sigmaME)
const edm::ParameterSet config_
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:697

◆ dqmEndJob()

void Phase2ITRecHitHarvester::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overridevirtual

Implements DQMEDHarvester.

Definition at line 55 of file Phase2ITRecHitHarvester.cc.

References dofitsForLayer(), ecapdisk1Name_, ecapdisk2Name_, mps_fire::i, nbarrelLayers_, ndisk1Rings_, ndisk2Rings_, AlCaHLTBitMon_QueryRunRegistry::string, cond::impl::to_string(), and topFolder_.

55  {
56  for (unsigned int i = 1; i <= nbarrelLayers_; i++) {
57  std::string iFolder = topFolder_ + "/Barrel/Layer" + std::to_string(i);
58  dofitsForLayer(iFolder, ibooker, igetter);
59  }
60  for (unsigned int iSide = 1; iSide <= 2; iSide++) {
61  const std::string ecapbasedisk1 =
62  topFolder_ + "/EndCap_Side" + std::to_string(iSide) + "/" + ecapdisk1Name_ + "/Ring";
63  const std::string ecapbasedisk2 =
64  topFolder_ + "/EndCap_Side" + std::to_string(iSide) + "/" + ecapdisk2Name_ + "/Ring";
65  //EPix or TEDD_1
66  for (unsigned int epixr = 1; epixr <= ndisk1Rings_; epixr++) {
67  std::string iFolder = ecapbasedisk1 + std::to_string(epixr);
68  dofitsForLayer(iFolder, ibooker, igetter);
69  }
70  //FPix or TEDD_2
71  for (unsigned int fpixr = 1; fpixr <= ndisk2Rings_; fpixr++) {
72  std::string iFolder = ecapbasedisk2 + std::to_string(fpixr);
73  dofitsForLayer(iFolder, ibooker, igetter);
74  }
75  }
76 }
std::string to_string(const V &value)
Definition: OMSAccess.h:71
void dofitsForLayer(const std::string &iFolder, DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)

◆ fillDescriptions()

void Phase2ITRecHitHarvester::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 153 of file Phase2ITRecHitHarvester.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, M_PI, and AlCaHLTBitMon_QueryRunRegistry::string.

153  {
154  // phase2ITrechitHarvester
156  desc.add<std::string>("TopFolder", "TrackerPhase2ITRecHitV");
157  desc.add<unsigned int>("NbarrelLayers", 4);
158  desc.add<unsigned int>("NDisk1Rings", 5);
159  desc.add<unsigned int>("NDisk2Rings", 4);
160  desc.add<std::string>("EcapDisk1Name", "EPix");
161  desc.add<std::string>("EcapDisk2Name", "FPix");
162  desc.add<std::string>("ResidualXvsEta", "Delta_X_vs_Eta");
163  desc.add<std::string>("ResidualXvsPhi", "Delta_X_vs_Phi");
164  desc.add<std::string>("ResidualYvsEta", "Delta_Y_vs_Eta");
165  desc.add<std::string>("ResidualYvsPhi", "Delta_Y_vs_Phi");
166 
168  psd0.add<std::string>("name", "resolutionXFitvseta");
169  psd0.add<std::string>("title", ";|#eta|; X-Resolution from fit [#mum]");
170  psd0.add<int>("NxBins", 41);
171  psd0.add<double>("xmax", 4.1);
172  psd0.add<double>("xmin", 0.);
173  psd0.add<bool>("switch", true);
174  desc.add<edm::ParameterSetDescription>("resXvseta", psd0);
175 
177  psd1.add<std::string>("name", "resolutionYFitvseta");
178  psd1.add<std::string>("title", ";|#eta|; Y-Resolution from fit [#mum]");
179  psd1.add<int>("NxBins", 41);
180  psd1.add<double>("xmax", 4.1);
181  psd1.add<double>("xmin", 0.);
182  psd1.add<bool>("switch", true);
183  desc.add<edm::ParameterSetDescription>("resYvseta", psd1);
184 
186  psd2.add<std::string>("name", "resolutionXFitvsphi");
187  psd2.add<std::string>("title", ";#phi; X-Resolution from fit [#mum]");
188  psd2.add<int>("NxBins", 36);
189  psd2.add<double>("xmax", M_PI);
190  psd2.add<double>("xmin", -M_PI);
191  psd2.add<bool>("switch", true);
192  desc.add<edm::ParameterSetDescription>("resXvsphi", psd2);
193 
195  psd3.add<std::string>("name", "resolutionYFitvsphi");
196  psd3.add<std::string>("title", ";#phi; Y-Resolution from fit [#mum]");
197  psd3.add<int>("NxBins", 36);
198  psd3.add<double>("xmax", M_PI);
199  psd3.add<double>("xmin", -M_PI);
200  psd3.add<bool>("switch", true);
201  desc.add<edm::ParameterSetDescription>("resYvsphi", psd3);
202 
204  psd4.add<std::string>("name", "meanXFitvseta");
205  psd4.add<std::string>("title", ";|#eta|; Mean residual X from fit [#mum]");
206  psd4.add<int>("NxBins", 41);
207  psd4.add<double>("xmax", 4.1);
208  psd4.add<double>("xmin", 0.);
209  psd4.add<bool>("switch", true);
210  desc.add<edm::ParameterSetDescription>("meanXvseta", psd4);
211 
213  psd5.add<std::string>("name", "meanYFitvseta");
214  psd5.add<std::string>("title", ";|#eta|; Mean residual Y from fit [#mum]");
215  psd5.add<int>("NxBins", 41);
216  psd5.add<double>("xmax", 4.1);
217  psd5.add<double>("xmin", 0.);
218  psd5.add<bool>("switch", true);
219  desc.add<edm::ParameterSetDescription>("meanYvseta", psd5);
220 
222  psd6.add<std::string>("name", "meanXFitvsphi");
223  psd6.add<std::string>("title", ";#phi; Mean residual X from fit [#mum]");
224  psd6.add<int>("NxBins", 36);
225  psd6.add<double>("xmax", M_PI);
226  psd6.add<double>("xmin", -M_PI);
227  psd6.add<bool>("switch", true);
228  desc.add<edm::ParameterSetDescription>("meanXvsphi", psd6);
229 
231  psd7.add<std::string>("name", "meanYFitvsphi");
232  psd7.add<std::string>("title", ";#phi; Mean residual Y from fit [#mum]");
233  psd7.add<int>("NxBins", 36);
234  psd7.add<double>("xmax", M_PI);
235  psd7.add<double>("xmin", -M_PI);
236  psd7.add<bool>("switch", true);
237  desc.add<edm::ParameterSetDescription>("meanYvsphi", psd7);
238 
239  desc.add<unsigned int>("NFitThreshold", 100);
240 
241  descriptions.add("Phase2ITRechitHarvester", desc);
242  // or use the following to generate the label from the module's C++ type
243  //descriptions.addWithDefaultLabel(desc);
244 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
#define M_PI
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ gausFitslices()

void Phase2ITRecHitHarvester::gausFitslices ( MonitorElement srcME,
MonitorElement meanME,
MonitorElement sigmaME 
)
private

Definition at line 115 of file Phase2ITRecHitHarvester.cc.

References generateEDF::cont, submitPVResolutionJobs::err, fitThreshold_, dqm::impl::MonitorElement::getNbinsX(), dqm::legacy::MonitorElement::getTH2F(), timingPdfMaker::histo, mps_fire::i, dqm::impl::MonitorElement::setBinContent(), and dqm::impl::MonitorElement::setBinError().

Referenced by dofitsForLayer().

115  {
116  TH2F* histo = srcME->getTH2F();
117 
118  // Fit slices projected along Y from bins in X
119  const unsigned int cont_min = fitThreshold_; //Minimum number of entries
120  for (int i = 1; i <= srcME->getNbinsX(); i++) {
121  TString iString(i);
122  TH1* histoY = histo->ProjectionY(" ", i, i);
123  const unsigned int cont = histoY->GetEntries();
124 
125  if (cont >= cont_min) {
126  float minfit = histoY->GetMean() - histoY->GetRMS();
127  float maxfit = histoY->GetMean() + histoY->GetRMS();
128 
129  std::unique_ptr<TF1> fitFcn{new TF1(TString("g") + histo->GetName() + iString, "gaus", minfit, maxfit)};
130  histoY->Fit(fitFcn.get(), "QR0 SERIAL", "", minfit, maxfit);
131 
132  double* par = fitFcn->GetParameters();
133  const double* err = fitFcn->GetParErrors();
134 
135  meanME->setBinContent(i, par[1]);
136  meanME->setBinError(i, err[1]);
137 
138  sigmaME->setBinContent(i, par[2]);
139  sigmaME->setBinError(i, err[2]);
140 
141  if (histoY)
142  delete histoY;
143  } else {
144  if (histoY)
145  delete histoY;
146  continue;
147  }
148  }
149 }
virtual TH2F * getTH2F() const
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
virtual int getNbinsX() const
get # of bins in X-axis
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
cont
load Luminosity info ##
Definition: generateEDF.py:628

Member Data Documentation

◆ config_

const edm::ParameterSet Phase2ITRecHitHarvester::config_
private

Definition at line 24 of file Phase2ITRecHitHarvester.cc.

Referenced by dofitsForLayer().

◆ deltaXvsEtaname_

const std::string Phase2ITRecHitHarvester::deltaXvsEtaname_
private

Definition at line 33 of file Phase2ITRecHitHarvester.cc.

Referenced by dofitsForLayer().

◆ deltaXvsPhiname_

const std::string Phase2ITRecHitHarvester::deltaXvsPhiname_
private

Definition at line 34 of file Phase2ITRecHitHarvester.cc.

Referenced by dofitsForLayer().

◆ deltaYvsEtaname_

const std::string Phase2ITRecHitHarvester::deltaYvsEtaname_
private

Definition at line 35 of file Phase2ITRecHitHarvester.cc.

Referenced by dofitsForLayer().

◆ deltaYvsPhiname_

const std::string Phase2ITRecHitHarvester::deltaYvsPhiname_
private

Definition at line 36 of file Phase2ITRecHitHarvester.cc.

Referenced by dofitsForLayer().

◆ ecapdisk1Name_

const std::string Phase2ITRecHitHarvester::ecapdisk1Name_
private

Definition at line 30 of file Phase2ITRecHitHarvester.cc.

Referenced by dqmEndJob().

◆ ecapdisk2Name_

const std::string Phase2ITRecHitHarvester::ecapdisk2Name_
private

Definition at line 31 of file Phase2ITRecHitHarvester.cc.

Referenced by dqmEndJob().

◆ fitThreshold_

const unsigned int Phase2ITRecHitHarvester::fitThreshold_
private

Definition at line 29 of file Phase2ITRecHitHarvester.cc.

Referenced by gausFitslices().

◆ histoPhiname_

const std::string Phase2ITRecHitHarvester::histoPhiname_
private

Definition at line 32 of file Phase2ITRecHitHarvester.cc.

◆ nbarrelLayers_

const unsigned int Phase2ITRecHitHarvester::nbarrelLayers_
private

Definition at line 26 of file Phase2ITRecHitHarvester.cc.

Referenced by dqmEndJob().

◆ ndisk1Rings_

const unsigned int Phase2ITRecHitHarvester::ndisk1Rings_
private

Definition at line 27 of file Phase2ITRecHitHarvester.cc.

Referenced by dqmEndJob().

◆ ndisk2Rings_

const unsigned int Phase2ITRecHitHarvester::ndisk2Rings_
private

Definition at line 28 of file Phase2ITRecHitHarvester.cc.

Referenced by dqmEndJob().

◆ topFolder_

const std::string Phase2ITRecHitHarvester::topFolder_
private

Definition at line 25 of file Phase2ITRecHitHarvester.cc.

Referenced by dqmEndJob().