|
void | analyze (const edm::Event &event, const edm::EventSetup &eventSetup) override |
|
void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override |
|
void | dqmEndRun (edm::Run const &, edm::EventSetup const &) override |
|
| MuonTrackResidualAnalyzer (const edm::ParameterSet &ps) |
| Constructor. More...
|
|
| ~MuonTrackResidualAnalyzer () override |
| Destructor. More...
|
|
void | accumulate (edm::Event const &event, edm::EventSetup const &setup) override |
|
void | beginRun (edm::Run const &run, edm::EventSetup const &setup) final |
|
| DQMOneEDAnalyzer () |
|
void | endRun (edm::Run const &, edm::EventSetup const &) final |
|
void | endRunProduce (edm::Run &run, edm::EventSetup const &setup) final |
|
virtual bool | getCanSaveByLumi () |
|
| EDProducer ()=default |
|
| EDProducer (const EDProducer &)=delete |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () 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 EDProducer & | operator= (const EDProducer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
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 |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
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 & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
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 const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
virtual void | dqmBeginRun (edm::Run const &, edm::EventSetup const &) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
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) |
|
template<Transition B> |
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 (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
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<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
edm::EDPutTokenT< DQMToken > | runToken_ |
|
No description available.
- Author
- R. Bellan - INFN Torino ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch
Definition at line 40 of file MuonTrackResidualAnalyzer.h.
Reimplemented from DQMOneEDAnalyzer<>.
Definition at line 122 of file MuonTrackResidualAnalyzer.cc.
123 LogDebug(
"MuonTrackResidualAnalyzer") <<
"Analyze";
145 map<DetId, const PSimHit *> muonSimHitsPerId =
mapMuSimHitsPerId(dtSimHits, cscSimHits, rpcSimHits);
156 SimTrackContainer::const_iterator
simTrack;
159 if (
abs((*simTrack).type()) == 13) {
161 etaSim = (*simTrack).momentum().eta();
170 reco::TrackCollection::const_iterator muonTrack;
173 for (muonTrack = muonTracks->begin(); muonTrack != muonTracks->end(); ++muonTrack) {
182 double momAtEntry = -150., momAtExit = -150.;
191 LogTrace(
"MuonTrackResidualAnalyzer")
194 <<
" E: " <<
theSimHitContainer.front()->momentumAtEntry().perp() <<
" R: " << distA << endl;
195 LogTrace(
"MuonTrackResidualAnalyzer")
198 <<
" E: " <<
theSimHitContainer.front()->momentumAtEntry().perp() <<
" R: " << distB << endl;
206 map<DetId, const PSimHit *>::const_iterator itFirst = muonSimHitsPerId.find((*rhFirst)->geographicalId());
207 map<DetId, const PSimHit *>::const_iterator itLast = muonSimHitsPerId.find((*rhLast)->geographicalId());
209 double momAtEntry2 = -150, momAtExit2 = -150.;
210 if (itFirst != muonSimHitsPerId.end())
211 momAtEntry2 = itFirst->second->momentumAtEntry().perp();
213 LogDebug(
"MuonTrackResidualAnalyzer") <<
"No first sim hit found";
215 itFirst = muonSimHitsPerId.find((*rhFirst)->geographicalId());
216 if (itFirst != muonSimHitsPerId.end())
217 momAtEntry2 = itFirst->second->momentumAtEntry().perp();
219 LogDebug(
"MuonTrackResidualAnalyzer") <<
"No second sim hit found";
224 if (itLast != muonSimHitsPerId.end())
225 momAtExit2 = itLast->second->momentumAtEntry().perp();
227 LogDebug(
"MuonTrackResidualAnalyzer") <<
"No last sim hit found";
229 itLast = muonSimHitsPerId.find((*rhLast)->geographicalId());
230 if (itLast != muonSimHitsPerId.end())
231 momAtExit2 = itLast->second->momentumAtEntry().perp();
233 LogDebug(
"MuonTrackResidualAnalyzer") <<
"No last but one sim hit found";
239 if (momAtEntry >= 0 && momAtExit >= 0)
241 if (momAtEntry2 >= 0 && momAtExit2 >= 0)
244 LogDebug(
"MuonTrackResidualAnalyzer") <<
"NO SimTrack'eta";
References funct::abs(), debug, LogDebug, LogTrace, mag(), mps_fire::result, cscDigiValidation_cfi::simTrack, TrackCandidateProducer_cfi::simTracks, GeomDet::toGlobal(), and HLT_FULL_cff::track.
Definition at line 320 of file MuonTrackResidualAnalyzer.cc.
325 for (Trajectory::DataContainer::const_iterator datum =
data.begin(); datum !=
data.end(); ++datum) {
326 GlobalPoint fitPoint = datum->updatedState().globalPosition();
333 double errX = datum->updatedState().localError().matrix()(3, 3);
334 double errY = datum->updatedState().localError().matrix()(4, 4);
337 map<DetId, const PSimHit *>::const_iterator it = hitIdMap.find(datum->recHit()->geographicalId());
339 if (it == hitIdMap.end())
342 const PSimHit *simhit = it->second;
352 cout <<
"SimHit position " << simHitPoint << endl;
353 cout <<
"Fit position " << fitLocalPoint << endl;
354 cout <<
"Fit position2 " << datum->updatedState().localPosition() << endl;
355 cout <<
"Errors on the fit position: (" <<
errX <<
"," <<
errY <<
"," <<
errZ <<
")" << endl;
356 cout <<
"Resolution on x: " <<
diff.x() /
abs(simHitPoint.x()) << endl;
357 cout <<
"Resolution on y: " <<
diff.y() /
abs(simHitPoint.y()) << endl;
358 cout <<
"Resolution on z: " <<
diff.z() /
abs(simHitPoint.z()) << endl;
360 cout <<
"Eta direction: " << simhit->
momentumAtEntry().
eta() <<
" eta position: " << simHitPoint.eta() << endl;
363 histos->Fill(simHitPoint.x(),
References funct::abs(), gather_cfg::cout, data, PSimHit::detUnitId(), change_name::diff, fftjetvertexadder_cfi::errX, fftjetvertexadder_cfi::errY, fftjetvertexadder_cfi::errZ, PV3DBase< T, PVType, FrameType >::eta(), combine::histos, PSimHit::localPosition(), Trajectory::measurements(), PSimHit::momentumAtEntry(), PV3DBase< T, PVType, FrameType >::phi(), Geom::Phi< T1, Range >::phi(), and GeomDet::toLocal().