|
|
#include <TkConvValidator.h>
|
void | analyze (const edm::Event &, const edm::EventSetup &) override |
|
void | bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override |
|
void | dqmBeginRun (edm::Run const &r, edm::EventSetup const &theEventSetup) override |
|
void | dqmEndRun (edm::Run const &r, edm::EventSetup const &es) override |
|
void | endJob () override |
|
| TkConvValidator (const edm::ParameterSet &) |
|
| ~TkConvValidator () override |
|
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) |
|
|
typedef dqm::reco::DQMStore | DQMStore |
|
typedef dqm::reco::MonitorElement | MonitorElement |
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
static const std::string & | baseType () |
|
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
|
static void | prevalidate (ConfigurationDescriptions &descriptions) |
|
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_ |
|
$Id: TkConvValidator
- Author
- N.Marinelli - Univ. of Notre Dame
Definition at line 52 of file TkConvValidator.h.
◆ TkConvValidator()
Definition at line 96 of file TkConvValidator.cc.
142 consumes<reco::TrackToTrackingParticleAssociator>(
edm::InputTag(
"trackAssociatorByHitsForConversionValidation"));
◆ ~TkConvValidator()
TkConvValidator::~TkConvValidator |
( |
| ) |
|
|
override |
◆ analyze()
Reimplemented from DQMOneEDAnalyzer<>.
Definition at line 1238 of file TkConvValidator.cc.
1240 using namespace edm;
1244 const float BARL = 1.4442;
1246 const float END_HI = 2.5;
1254 LogInfo(
"TkConvValidator") <<
"TkConvValidator Analyzing event number: " <<
e.id() <<
" Global Counter " <<
nEvt_
1269 edm::LogError(
"ConversionsProducer") <<
"Error! Can't get the collection " << std::endl;
1277 if (!photonHandle.
isValid()) {
1278 edm::LogError(
"PhotonProducer") <<
"Error! Can't get the Photon collection " << std::endl;
1286 if (!vertexHandle.
isValid()) {
1287 edm::LogError(
"TrackerOnlyConversionProducer") <<
"Error! Can't get the product primary Vertex Collection "
1293 bool valid_pvtx =
false;
1305 edm::LogError(
"TrackerOnlyConversionProducer") <<
"Error! Can't get the product primary Vertex Collection "
1339 const std::vector<SimTrack>& theSimTracks = *SimTk;
1340 const std::vector<SimVertex>& theSimVertices = *SimVtx;
1356 std::map<const reco::Track*, TrackingParticleRef> myAss;
1357 std::map<const reco::Track*, TrackingParticleRef>::const_iterator itAss;
1359 for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
1360 mcConvPt_ = (*mcPho).fourMomentum().et();
1361 float mcPhi = (*mcPho).fourMomentum().phi();
1363 mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
1365 mcConvR_ = (*mcPho).vertex().perp();
1372 if (fabs(
mcEta_) > END_HI)
1385 bool goodSimConversion =
false;
1386 bool visibleConversion =
false;
1387 bool visibleConversionsWithTwoSimTracks =
false;
1388 if ((*mcPho).isAConversion() == 1) {
1400 (fabs(
mcEta_) > BARL && fabs(
mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210))
1401 visibleConversion =
true;
1407 if (fabs(
tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(
tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
1408 fabs(
tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
1415 visibleConversionsWithTwoSimTracks =
true;
1416 goodSimConversion =
false;
1418 if (visibleConversion && visibleConversionsWithTwoSimTracks)
1419 goodSimConversion =
true;
1420 if (goodSimConversion) {
1437 if (!(visibleConversion && visibleConversionsWithTwoSimTracks))
1441 if (fabs(
mcEta_) <= 1.) {
1453 bool recomatch =
false;
1454 float chi2Prob = 0.;
1457 for (reco::ConversionCollection::const_iterator
conv = convHandle->begin();
conv != convHandle->end(); ++
conv) {
1470 const std::vector<edm::RefToBase<reco::Track> >&
tracks = aConv.
tracks();
1474 if (
tracks.size() != 2 || !(
vtx.isValid()))
1487 double lxy = (themom.x() * dbsx + themom.y() * dbsy) / themom.rho();
1511 bool isAssociated =
false;
1515 std::vector<std::pair<RefToBase<reco::Track>,
double> > trackV1, trackV2;
1517 int tp_1 = 0, tp_2 = 1;
1519 trackV1 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q1[
theConvTP_[0]];
1521 trackV1 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q1[
theConvTP_[1]];
1525 trackV2 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q2[
theConvTP_[1]];
1527 trackV2 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q2[
theConvTP_[0]];
1530 if (!(!trackV1.empty() && !trackV2.empty()))
1547 isAssociated =
true;
1576 if (chi2Prob > 0.0005) {
1589 for (reco::ConversionCollection::const_iterator
conv = convHandle->begin();
conv != convHandle->end(); ++
conv) {
1602 std::vector<edm::RefToBase<reco::Track> >
tracks = aConv.
tracks();
1606 if (
tracks.size() != 2 || !(
vtx.isValid()))
1620 double lxy = (themom.x() * dbsx + themom.y() * dbsy) / themom.rho();
1625 bool phoIsInBarrel =
false;
1626 bool phoIsInEndcap =
false;
1643 float dPhiTracksAtVtx;
1647 if (p1AtVtx.perp2() > p2AtVtx.perp2())
1648 dPhiTracksAtVtx = p1AtVtx.phi() - p2AtVtx.phi();
1650 dPhiTracksAtVtx = p2AtVtx.phi() - p1AtVtx.phi();
1654 if (fabs(refittedMom.eta()) < 1.479) {
1655 phoIsInBarrel =
true;
1657 phoIsInEndcap =
true;
1663 double Mindeltaeta = 999999;
1664 double Mindeltaphi = 999999;
1665 bool matchConvSC =
false;
1666 reco::PhotonCollection::const_iterator iMatchingSC;
1672 double deltaeta =
abs(aPho.
superCluster()->position().eta() - ConvEta);
1673 if (
abs(deltaeta) <
abs(Mindeltaeta) &&
abs(deltaphi) <
abs(Mindeltaphi)) {
1674 Mindeltaphi =
abs(deltaphi);
1675 Mindeltaeta =
abs(deltaeta);
1679 if (
abs(Mindeltaeta) < 0.1 &&
abs(Mindeltaphi) < 0.1) {
1687 uint maxNHitsBeforeVtx =
1689 uint sumNHitsBeforeVtx =
1694 float maxDlClosestHitToVtxSig =
1700 int ilead = 0, itrail = 1;
1701 if (tk2->
pt() > tk1->
pt()) {
1757 if (phoIsInBarrel) {
1790 if (phoIsInEndcap) {
1821 for (
unsigned int i = 0;
i <
tracks.size();
i++) {
1849 bool associated =
false;
1853 for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
1854 mcConvPt_ = (*mcPho).fourMomentum().et();
1855 float mcPhi = (*mcPho).fourMomentum().phi();
1856 simPV_Z = (*mcPho).primaryVertex().z();
1858 mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
1860 mcConvR_ = (*mcPho).vertex().perp();
1866 if (fabs(
mcEta_) > END_HI)
1877 if ((*mcPho).isAConversion() != 1)
1880 (fabs(
mcEta_) > BARL && fabs(
mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210)))
1885 if (fabs(
tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(
tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
1886 fabs(
tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
1898 auto itP1 =
p1.find(tk1);
1899 auto itP2 =
p2.find(tk2);
1900 bool good = (itP1 !=
p1.end()) and (not itP1->val.empty()) and (itP2 !=
p2.end()) and (not itP2->val.empty());
1902 itP1 =
p1.find(tk2);
1903 itP2 =
p2.find(tk1);
1904 good = (itP1 !=
p1.end()) and (not itP1->val.empty()) and (itP2 !=
p2.end()) and (not itP2->val.empty());
1908 std::vector<std::pair<TrackingParticleRef, double> >
const& tp1 = itP1->val;
1909 std::vector<std::pair<TrackingParticleRef, double> >
const& tp2 = itP2->val;
1912 if (
abs(tpr1->pdgId()) == 11 &&
abs(tpr2->pdgId()) == 11 && tpr1->pdgId() * tpr2->pdgId() < 0) {
1913 if ((tpr1->parentVertex()->sourceTracks_end() - tpr1->parentVertex()->sourceTracks_begin() == 1) &&
1914 (tpr2->parentVertex()->sourceTracks_end() - tpr2->parentVertex()->sourceTracks_begin() == 1)) {
1915 if (tpr1->parentVertex().
key() == tpr2->parentVertex().
key() &&
1916 ((*tpr1->parentVertex()->sourceTracks_begin())->
pdgId() == 22)) {
1917 mcConvR_ =
sqrt(tpr1->parentVertex()->position().Perp2());
1918 mcConvZ_ = tpr1->parentVertex()->position().z();
1919 mcConvX_ = tpr1->parentVertex()->position().x();
1920 mcConvY_ = tpr1->parentVertex()->position().y();
1921 mcConvEta_ = tpr1->parentVertex()->position().eta();
1922 mcConvPhi_ = tpr1->parentVertex()->position().phi();
1923 mcConvPt_ =
sqrt((*tpr1->parentVertex()->sourceTracks_begin())->momentum().Perp2());
1942 for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
1943 mcConvPt_ = (*mcPho).fourMomentum().et();
1944 float mcPhi = (*mcPho).fourMomentum().phi();
1945 simPV_Z = (*mcPho).primaryVertex().z();
1947 mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
1949 mcConvR_ = (*mcPho).vertex().perp();
1955 if (fabs(
mcEta_) > END_HI)
1966 if ((*mcPho).isAConversion() != 1)
1969 (fabs(
mcEta_) > BARL && fabs(
mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210)))
1974 if (fabs(
tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(
tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
1975 fabs(
tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
1987 if ((!p1incl.
empty() && !p2incl.
empty()) && (!
p1.empty() || !
p2.empty())) {
1989 std::vector<std::pair<TrackingParticleRef, double> > tp1 = p1incl[tk1];
1990 std::vector<std::pair<TrackingParticleRef, double> > tp2 = p2incl[tk2];
1991 if (!(!tp1.empty() && !tp2.empty())) {
1995 if (!tp1.empty() && !tp2.empty()) {
1998 if (
abs(tpr1->pdgId()) == 11 &&
abs(tpr2->pdgId()) == 11 && tpr1->pdgId() * tpr2->pdgId() < 0) {
1999 if (((tpr1->parentVertex()->sourceTracks_end() - tpr1->parentVertex()->sourceTracks_begin() >= 1) &&
2000 (*tpr1->parentVertex()->sourceTracks_begin())->
pdgId() == 22) &&
2001 ((tpr2->parentVertex()->sourceTracks_end() - tpr2->parentVertex()->sourceTracks_begin() >= 1) &&
2002 (*tpr2->parentVertex()->sourceTracks_begin())->
pdgId() == 22)) {
2074 if (phoIsInBarrel) {
2101 if (phoIsInEndcap) {
2156 if (phoIsInBarrel) {
2162 if (phoIsInEndcap) {
2171 for (
unsigned int i = 0;
i <
tracks.size();
i++) {
2174 itAss = myAss.find(tfrb.get());
2201 if (itAss == myAss.end())
2205 float simPt =
sqrt(((*itAss).second)->momentum().perp2());
2207 float ptres =
recPt - simPt;
2214 if (phoIsInBarrel) {
2218 if (phoIsInEndcap) {
References funct::abs(), reco::TrackBase::algo(), reco::Conversion::arbitratedEcalSeeded, arbitratedEcalSeeded_, reco::Conversion::arbitratedMerged, arbitratedMerged_, reco::TrackToTrackingParticleAssociator::associateRecoToSim(), reco::TrackToTrackingParticleAssociator::associateSimToReco(), beamspotToken_, edm::RefVector< C, T, F >::begin(), caloGeometryToken_, ALCARECOTkAlJpsiMuMu_cff::charge, reco::Vertex::chi2(), ChiSquaredProbability(), PhotonMCTruthFinder::clear(), edm::RefVector< C, T, F >::clear(), conv, conversionCollectionPr_Token_, reco::Conversion::conversionVertex(), d0, reco::deltaPhi(), reco::Conversion::distOfMinimumApproach(), reco::Conversion::dlClosestHitToVtx(), HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, ecalalgotracks_, edm::AssociationMap< Tag >::empty(), edm::RefVector< C, T, F >::end(), etaTransformation(), dqm::impl::MonitorElement::Fill(), PhotonMCTruthFinder::find(), g4_simTk_Token_, g4_simVtx_Token_, reco::Conversion::generalTracksOnly, generalTracksOnly_, edm::RefToBase< T >::get(), edm::EventSetup::getHandle(), edm::ParameterSet::getParameter(), good, h2_Chi2VsEta_, h2_Chi2VsR_, h2_convVtxdRVsEta_, h2_convVtxdRVsR_, h2_convVtxRrecVsTrue_, h2_DCotTracksVsEta_, h2_DCotTracksVsR_, h2_DPhiTracksAtVtxVsEta_, h2_DPhiTracksAtVtxVsR_, h2_dzPVVsR_, h2_photonPtRecVsPtSim_, h2_PtRecVsPtSim_, h2_TkPtPull_, h_AllSimConv_, h_convEta2_, h_convEta_, h_convEtaMatchSC_, h_convPhi_, h_convPt_, h_convPtRes_, h_convR_, h_convRplot_, h_convSCdEta_, h_convSCdPhi_, h_convVtxdEta_, h_convVtxdPhi_, h_convVtxdR_, h_convVtxdR_barrel_, h_convVtxdR_endcap_, h_convVtxdX_, h_convVtxdX_barrel_, h_convVtxdX_endcap_, h_convVtxdY_, h_convVtxdY_barrel_, h_convVtxdY_endcap_, h_convVtxdZ_, h_convVtxdZ_barrel_, h_convVtxdZ_endcap_, h_convVtxRvsZ_, h_convVtxYvsX_, h_convVtxYvsX_zoom_, h_convZ_, h_convZplot_, h_DCotTracks_, h_deltaExpectedHitsInner_, h_distMinAppTracks_, h_dlClosestHitToVtx_, h_dlClosestHitToVtxSig_, h_DPhiTracksAtVtx_, h_dzPVFromTracks_, h_EoverPTracks_, h_invMass_, h_leadExpectedHitsInner_, h_leadNHitsBeforeVtx_, h_lxybs_, h_match_, h_maxDlClosestHitToVtx_, h_maxDlClosestHitToVtxSig_, h_maxNHitsBeforeVtx_, h_nConv_, h_nHitsBeforeVtx_, h_nSharedHits_, h_SimConvEtaPix_, h_SimConvTwoMTracks_, h_SimConvTwoMTracksAndVtxPGT0005_, h_SimConvTwoMTracksAndVtxPGT0_, h_simConvVtxRvsZ_, h_simConvVtxYvsX_, h_SimRecConvTwoMTracks_, h_simTkEta_, h_simTkPt_, h_sumNHitsBeforeVtx_, h_tkChi2_, h_tkChi2Large_, h_TkD0_, h_TkPtPull_, h_trailNHitsBeforeVtx_, h_VisSimConv_, h_vtxChi2Prob_, h_zPVFromTracks_, reco::Conversion::highPurity, highPurity_, reco::TrackBase::hitPattern(), mps_fire::i, reco::TrackBase::inOutEcalSeededConv, edm::HandleBase::isValid(), reco::Vertex::isValid(), edm::Ref< C, T, F >::key(), match(), SiStripPI::max, maxHitsBeforeVtx_, maxPhoEtaForEffic, maxPhoEtaForPurity, maxPhoRForEffic, maxPhoZForEffic, maxPhoZForPurity, mcConvEta_, mcConvPhi_, mcConvPt_, mcConvR_, mcConvX_, mcConvY_, mcConvZ_, mcEta_, mcPhi_, minLxy_, minPhoPtForEffic, minPhoPtForPurity, minProb_, reco::HitPattern::MISSING_INNER_HITS, reco::Vertex::ndof(), nEvt_, reco::Conversion::nHitsBeforeVtx(), nHitsVsEta_, nHitsVsR_, TrackCollections2monitor_cff::normalizedChi2, nRecConv_, nRecConvAss_, reco::Conversion::nSharedHits(), nSimConv_, reco::HitPattern::numberOfLostHits(), TrackCollections2monitor_cff::numberOfValidHits, offline_pvToken_, reco::TrackBase::outInEcalSeededConv, p1, p2, p2_convVtxdRVsRZ_, p2_convVtxdZVsRZ_, p_Chi2VsEta_, p_Chi2VsR_, p_convVtxdRVsEta_, p_convVtxdRVsR_, p_convVtxdXVsX_, p_convVtxdYVsY_, p_convVtxdZVsR_, p_convVtxdZVsZ_, p_DCotTracksVsEta_, p_DCotTracksVsR_, p_DPhiTracksAtVtxVsEta_, p_DPhiTracksAtVtxVsR_, p_dzPVVsR_, p_nHitsVsEta_, p_nHitsVsR_, reco::Conversion::pairCotThetaSeparation(), reco::Conversion::pairInvariantMass(), parameters_, EgammaValidation_cff::pdgId, phiNormalization(), nanoDQM_cff::Photon, ExoticaDQM_cfi::photonCollection, photonCollectionPr_Token_, reco::Vertex::position(), edm::Handle< T >::product(), reco::TrackBase::pt(), HiEvtPlane_cfi::pterror, edm::RefToBaseVector< T >::push_back(), edm::RefVector< C, T, F >::push_back(), q1, q2, reco::Conversion::quality(), recalculateMomentumAtFittedVertex(), recPt, reco::Conversion::refittedPairMomentum(), reco::Vertex::refittedTracks(), edm::RefVector< C, T, F >::size(), mathSSE::sqrt(), reco::Photon::superCluster(), theCaloGeom_, theConvTP_, theMF_, thePhotonMCTruthFinder_, cmsswSequenceInfo::tp, tpSelForEff_Token_, tpSelForFake_Token_, trackAssociator_Token_, PbPb_ZMuSkimMuonDPG_cff::tracker, trackerGeometryToken_, reco::Conversion::tracks(), tracks, transientTrackBuilderToken_, parallelization::uint, photonValidationSequence_cff::useTP, spclusmultinvestigator_cfi::vertexCollection, extraflags_cff::vtx, reco::Vertex::x(), reco::BeamSpot::x0(), reco::Vertex::y(), reco::BeamSpot::y0(), and reco::Conversion::zOfPrimaryVertexFromTracks().
◆ bookHistograms()
Histograms for efficiencies
Denominators
zooms
Implements DQMOneEDAnalyzer<>.
Definition at line 147 of file TkConvValidator.cc.
231 h_nSimConv_[0] = iBooker.
book1D(histname,
"# of Sim conversions per event ", 20, -0.5, 19.5);
233 histname =
"h_AllSimConvEta";
235 histname =
"h_AllSimConvPhi";
237 histname =
"h_AllSimConvR";
239 histname =
"h_AllSimConvZ";
241 histname =
"h_AllSimConvEt";
244 histname =
"nOfVisSimConversions";
245 h_nSimConv_[1] = iBooker.
book1D(histname,
"# of Sim conversions per event ", 20, -0.5, 19.5);
246 histname =
"h_VisSimConvEta";
248 histname =
"h_VisSimConvPhi";
250 histname =
"h_VisSimConvR";
252 histname =
"h_VisSimConvZ";
254 histname =
"h_VisSimConvEt";
258 histname =
"h_SimConvTwoMTracksEta";
260 histname,
" All vis conversions with 2 reco-matching tracks: simulated #eta",
etaBin2,
etaMin,
etaMax);
261 histname =
"h_SimConvTwoMTracksPhi";
263 histname,
" All vis conversions with 2 reco-matching tracks: simulated #phi",
phiBin,
phiMin,
phiMax);
264 histname =
"h_SimConvTwoMTracksR";
266 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated R",
rBin,
rMin,
rMax);
267 histname =
"h_SimConvTwoMTracksZ";
269 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Z",
zBin,
zMin,
zMax);
270 histname =
"h_SimConvTwoMTracksEt";
272 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Et",
etBin,
etMin,
etMax);
274 histname =
"h_SimConvTwoTracksEta";
277 histname =
"h_SimConvTwoTracksPhi";
280 histname =
"h_SimConvTwoTracksR";
282 iBooker.
book1D(histname,
" All vis conversions with 2 reco tracks: simulated R",
rBin,
rMin,
rMax);
283 histname =
"h_SimConvTwoTracksZ";
285 iBooker.
book1D(histname,
" All vis conversions with 2 reco tracks: simulated Z",
zBin,
zMin,
zMax);
286 histname =
"h_SimConvTwoTracksEt";
288 iBooker.
book1D(histname,
" All vis conversions with 2 reco tracks: simulated Et",
etBin,
etMin,
etMax);
290 histname =
"h_SimConvTwoMTracksEtaAndVtxPGT0";
292 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #eta",
etaBin2,
etaMin,
etaMax);
293 histname =
"h_SimConvTwoMTracksPhiAndVtxPGT0";
295 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #phi",
phiBin,
phiMin,
phiMax);
296 histname =
"h_SimConvTwoMTracksRAndVtxPGT0";
298 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated R",
rBin,
rMin,
rMax);
299 histname =
"h_SimConvTwoMTracksZAndVtxPGT0";
301 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Z",
zBin,
zMin,
zMax);
302 histname =
"h_SimConvTwoMTracksEtAndVtxPGT0";
304 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Et",
etBin,
etMin,
etMax);
307 histname =
"h_SimConvTwoMTracksEtaAndVtxPGT0005";
309 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #eta",
etaBin2,
etaMin,
etaMax);
310 histname =
"h_SimConvTwoMTracksPhiAndVtxPGT0005";
312 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #phi",
phiBin,
phiMin,
phiMax);
313 histname =
"h_SimConvTwoMTracksRAndVtxPGT0005";
315 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated R",
rBin,
rMin,
rMax);
316 histname =
"h_SimConvTwoMTracksZAndVtxPGT0005";
318 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Z",
zBin,
zMin,
zMax);
319 histname =
"h_SimConvTwoMTracksEtAndVtxPGT0005";
321 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Et",
etBin,
etMin,
etMax);
323 histname =
"h_SimRecConvTwoMTracksEta";
325 histname,
" All vis conversions with 2 reco-matching tracks: simulated #eta",
etaBin2,
etaMin,
etaMax);
326 histname =
"h_SimRecConvTwoMTracksPhi";
328 histname,
" All vis conversions with 2 reco-matching tracks: simulated #phi",
phiBin,
phiMin,
phiMax);
329 histname =
"h_SimRecConvTwoMTracksR";
331 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated R",
rBin,
rMin,
rMax);
332 histname =
"h_SimRecConvTwoMTracksZ";
334 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Z",
zBin,
zMin,
zMax);
335 histname =
"h_SimRecConvTwoMTracksEt";
337 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Et",
etBin,
etMin,
etMax);
345 " Photon Sim conversion vtx position",
353 " Photon Sim conversion vtx position",
361 " Photon Sim conversion vtx position",
369 " Photon Sim conversion vtx position when reco R<4cm",
377 "simConvVtxYvsXTrkBarrel",
" Photon Sim conversion vtx position, (x,y) eta<1 ", 100, -80., 80., 100, -80., 80.);
384 histname +
"All",
"Number Of Conversions per isolated candidates per events: All Ecal ", 10, -0.5, 9.5);
386 histname +
"Barrel",
"Number Of Conversions per isolated candidates per events: Ecal Barrel ", 10, -0.5, 9.5);
388 histname +
"Endcap",
"Number Of Conversions per isolated candidates per events: Ecal Endcap ", 10, -0.5, 9.5);
390 "Number Of associated Conversions per isolated candidates per events: All Ecal ",
426 histname =
"convSCdPhi";
427 h_convSCdPhi_[0][0] = iBooker.
book1D(histname +
"All",
"dPhi between SC and conversion", 100, -0.1, 0.1);
429 iBooker.
book1D(histname +
"Barrel",
" dPhi between SC and conversion: Barrel", 100, -0.1, 0.1);
431 iBooker.
book1D(histname +
"Endcap",
" dPhi between SC and conversion: Endcap", 100, -0.1, 0.1);
432 h_convSCdPhi_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"dPhi between SC and conversion", 100, -0.1, 0.1);
434 iBooker.
book1D(histname +
"Barrel_Ass",
" dPhi between SC and conversion: Barrel", 100, -0.1, 0.1);
436 iBooker.
book1D(histname +
"Endcap_Ass",
" dPhi between SC and conversion: Endcap", 100, -0.1, 0.1);
437 h_convSCdPhi_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"dPhi between SC and conversion", 100, -0.1, 0.1);
439 iBooker.
book1D(histname +
"Barrel_Fakes",
" dPhi between SC and conversion: Barrel", 100, -0.1, 0.1);
441 iBooker.
book1D(histname +
"Endcap_Fakes",
" dPhi between SC and conversion: Endcap", 100, -0.1, 0.1);
442 histname =
"convSCdEta";
443 h_convSCdEta_[0][0] = iBooker.
book1D(histname +
"All",
" dEta between SC and conversion", 100, -0.1, 0.1);
445 iBooker.
book1D(histname +
"Barrel",
" dEta between SC and conversion: Barrel", 100, -0.1, 0.1);
447 iBooker.
book1D(histname +
"Endcap",
" dEta between SC and conversion: Endcap", 100, -0.1, 0.1);
448 h_convSCdEta_[1][0] = iBooker.
book1D(histname +
"All_Ass",
" dEta between SC and conversion", 100, -0.1, 0.1);
450 iBooker.
book1D(histname +
"Barrel_Ass",
" dEta between SC and conversion: Barrel", 100, -0.1, 0.1);
452 iBooker.
book1D(histname +
"Endcap_Ass",
" dEta between SC and conversion: Endcap", 100, -0.1, 0.1);
453 h_convSCdEta_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
" dEta between SC and conversion", 100, -0.1, 0.1);
455 iBooker.
book1D(histname +
"Barrel_Fakes",
" dEta between SC and conversion: Barrel", 100, -0.1, 0.1);
457 iBooker.
book1D(histname +
"Endcap_Fakes",
" dEta between SC and conversion: Endcap", 100, -0.1, 0.1);
459 histname =
"convPtRes";
464 histname =
"hInvMass";
466 histname +
"All_AllTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
468 " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",
473 " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",
479 histname +
"All_AssTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
481 " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",
486 " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",
492 histname +
"All_FakeTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
494 " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",
499 " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",
504 histname =
"hDPhiTracksAtVtx";
506 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
511 iBooker.
book1D(histname +
"Barrel",
512 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
517 iBooker.
book1D(histname +
"Endcap",
518 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
523 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
528 iBooker.
book1D(histname +
"Barrel_Ass",
529 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
534 iBooker.
book1D(histname +
"Endcap_Ass",
535 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
540 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
545 iBooker.
book1D(histname +
"Barrel_Fakes",
546 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
551 iBooker.
book1D(histname +
"Endcap_Fakes",
552 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
557 histname =
"hDPhiTracksAtVtxVsEta";
559 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta",
566 histname =
"pDPhiTracksAtVtxVsEta";
569 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta ",
578 histname =
"hDPhiTracksAtVtxVsR";
580 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R",
587 histname =
"pDPhiTracksAtVtxVsR";
589 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R ",
598 histname =
"hDCotTracks";
600 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
605 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
610 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
615 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
620 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
625 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
630 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
635 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
640 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
645 histname =
"hDCotTracksVsEta";
647 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta",
654 histname =
"pDCotTracksVsEta";
656 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta ",
665 histname =
"hDCotTracksVsR";
667 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R",
674 histname =
"pDCotTracksVsR";
677 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R ",
686 histname =
"hDistMinAppTracks";
688 histname +
"All",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ", 120, -0.5, 1.0);
690 histname +
"Barrel",
" Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ", 120, -0.5, 1.0);
692 histname +
"Endcap",
" Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ", 120, -0.5, 1.0);
694 histname +
"All_Ass",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ", 120, -0.5, 1.0);
696 iBooker.
book1D(histname +
"Barrel_Ass",
697 " Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",
702 iBooker.
book1D(histname +
"Endcap_Ass",
703 " Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",
708 histname +
"All_Fakes",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ", 120, -0.5, 1.0);
710 iBooker.
book1D(histname +
"Barrel_Fakes",
711 " Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",
716 iBooker.
book1D(histname +
"Endcap_Fakes",
717 " Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",
723 " Photon Reco conversion vtx position",
731 " Photon Reco conversion vtx position",
739 " Photon Reco conversion vtx position",
747 "convVtxYvsXTrkBarrel",
" Photon Reco conversion vtx position, (x,y) eta<1 ", 1000, -60., 60., 1000, -60., 60.);
750 " Photon Reco conversion vtx position",
758 " Photon Reco conversion vtx position",
766 " Photon Reco conversion vtx position, (x,y) eta<1 ",
774 " Photon Reco conversion vtx position, (x,y) eta<1 ",
782 h_convVtxdR_ = iBooker.
book1D(
"convVtxdR",
" Photon Reco conversion vtx dR", 100, -10., 10.);
783 h_convVtxdX_ = iBooker.
book1D(
"convVtxdX",
" Photon Reco conversion vtx dX", 100, -10., 10.);
784 h_convVtxdY_ = iBooker.
book1D(
"convVtxdY",
" Photon Reco conversion vtx dY", 100, -10., 10.);
785 h_convVtxdZ_ = iBooker.
book1D(
"convVtxdZ",
" Photon Reco conversion vtx dZ", 100, -20., 20.);
787 h_convVtxdPhi_ = iBooker.
book1D(
"convVtxdPhi",
" Photon Reco conversion vtx dPhi", 100, -0.01, 0.01);
788 h_convVtxdEta_ = iBooker.
book1D(
"convVtxdEta",
" Photon Reco conversion vtx dEta", 100, -0.5, 0.5);
791 iBooker.
book1D(
"convVtxdR_barrel",
" Photon Reco conversion vtx dR, |eta|<=1.2", 100, -10., 10.);
793 iBooker.
book1D(
"convVtxdX_barrel",
" Photon Reco conversion vtx dX, |eta|<=1.2", 100, -10., 10.);
795 iBooker.
book1D(
"convVtxdY_barrel",
" Photon Reco conversion vtx dY, |eta|<=1.2 ", 100, -10., 10.);
797 iBooker.
book1D(
"convVtxdZ_barrel",
" Photon Reco conversion vtx dZ, |eta|<=1.2,", 100, -20., 20.);
800 iBooker.
book1D(
"convVtxdR_endcap",
" Photon Reco conversion vtx dR, |eta|>1.2 ", 100, -10., 10.);
802 iBooker.
book1D(
"convVtxdX_endcap",
" Photon Reco conversion vtx dX, |eta|>1.2", 100, -10., 10.);
804 iBooker.
book1D(
"convVtxdY_endcap",
" Photon Reco conversion vtx dY, |eta|>1.2", 100, -10., 10.);
806 iBooker.
book1D(
"convVtxdZ_endcap",
" Photon Reco conversion vtx dZ, |eta|>1.2", 100, -20., 20.);
824 "p2ConvVtxdRVsRZ",
"Conversion vtx dR vs RZ",
zBin,
zMin,
zMax,
rBin,
rMin,
rMax, 100, 0., 20.,
"s");
826 "p2ConvVtxdZVsRZ",
"Conversion vtx dZ vs RZ",
zBin,
zMin,
zMax,
rBin,
rMin,
rMax, 100, 0., 20.,
"s");
828 histname =
"EoverPtracks";
851 histname =
"vtxChi2Prob";
853 h_vtxChi2Prob_[0][1] = iBooker.
book1D(histname +
"Barrel",
"vertex #chi^{2} barrel", 100, 0., 1.);
854 h_vtxChi2Prob_[0][2] = iBooker.
book1D(histname +
"Endcap",
"vertex #chi^{2} endcap", 100, 0., 1.);
855 h_vtxChi2Prob_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"vertex #chi^{2} all", 100, 0., 1.);
856 h_vtxChi2Prob_[1][1] = iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 100, 0., 1.);
857 h_vtxChi2Prob_[1][2] = iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 100, 0., 1.);
858 h_vtxChi2Prob_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"vertex #chi^{2} all", 100, 0., 1.);
859 h_vtxChi2Prob_[2][1] = iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, 0., 1.);
860 h_vtxChi2Prob_[2][2] = iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, 0., 1.);
862 h_zPVFromTracks_[1] = iBooker.
book1D(
"zPVFromTracks",
" Photons: PV z from conversion tracks", 100, -25., 25.);
864 iBooker.
book1D(
"dzPVFromTracks",
" Photons: PV Z_rec - Z_true from conversion tracks", 100, -5., 5.);
870 h_lxybs_[0][0] = iBooker.
book1D(histname +
"All",
"vertex #chi^{2} all", 200, -100., 100.);
871 h_lxybs_[0][1] = iBooker.
book1D(histname +
"Barrel",
"vertex #chi^{2} barrel", 200, -100., 100.);
872 h_lxybs_[0][2] = iBooker.
book1D(histname +
"Endcap",
"vertex #chi^{2} endcap", 200, -100., 100.);
873 h_lxybs_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"vertex #chi^{2} all", 200, -100., 100.);
874 h_lxybs_[1][1] = iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 200, -100., 100.);
875 h_lxybs_[1][2] = iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 200, -100., 100.);
876 h_lxybs_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"vertex #chi^{2} all", 200, -100., 100.);
877 h_lxybs_[2][1] = iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 200, -100., 100.);
878 h_lxybs_[2][2] = iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 200, -100., 100.);
880 histname =
"maxNHitsBeforeVtx";
891 histname =
"leadNHitsBeforeVtx";
902 histname =
"trailNHitsBeforeVtx";
913 histname =
"sumNHitsBeforeVtx";
924 histname =
"maxDlClosestHitToVtx";
935 histname =
"maxDlClosestHitToVtxSig";
944 iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, -8., 8.);
946 iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, -8., 8.);
948 histname =
"deltaExpectedHitsInner";
954 iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
956 iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
959 iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
961 iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
963 histname =
"leadExpectedHitsInner";
972 iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
974 iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
976 histname =
"nSharedHits";
978 h_nSharedHits_[0][1] = iBooker.
book1D(histname +
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
979 h_nSharedHits_[0][2] = iBooker.
book1D(histname +
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
980 h_nSharedHits_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
981 h_nSharedHits_[1][1] = iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
982 h_nSharedHits_[1][2] = iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
983 h_nSharedHits_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
984 h_nSharedHits_[2][1] = iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
985 h_nSharedHits_[2][2] = iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
990 "Photons:Tracks from conversions: # of hits all tracks",
998 "Photons:Tracks from conversions: # of hits all tracks ass",
1005 nHits_[2] = iBooker.
book2D(histname +
"AllTracks_Fakes",
1006 "Photons:Tracks from conversions: # of hits all tracks fakes",
1014 histname =
"nHitsVsEta";
1016 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1024 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1032 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1039 histname =
"h_nHitsVsEta";
1041 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1050 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1059 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1068 histname =
"nHitsVsR";
1070 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1078 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1086 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1094 histname =
"h_nHitsVsR";
1096 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1105 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1114 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1123 histname =
"tkChi2";
1125 histname +
"AllTracks",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100,
chi2Min,
chi2Max);
1127 histname +
"AllTracks_Ass",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100,
chi2Min,
chi2Max);
1129 histname +
"AllTracks_Fakes",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100,
chi2Min,
chi2Max);
1131 histname =
"tkChi2Large";
1133 histname +
"AllTracks",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
1135 histname +
"AllTracks_Ass",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
1137 histname +
"AllTracks_Fakes",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
1139 histname =
"h2Chi2VsEta";
1146 histname =
"pChi2VsEta";
1152 " Reco Track #chi^{2} vs #eta : All ",
1161 histname =
"h2Chi2VsR";
1168 histname =
"pChi2VsR";
1177 h_TkD0_[0] = iBooker.
book1D(histname +
"All",
" Reco Track D0*q: All ", 200, -0.1, 60);
1178 h_TkD0_[1] = iBooker.
book1D(histname +
"All_Ass",
" Reco Track D0*q: Barrel ", 200, -0.1, 60);
1179 h_TkD0_[2] = iBooker.
book1D(histname +
"All_Fakes",
" Reco Track D0*q: Endcap ", 200, -0.1, 60);
1181 histname =
"hTkPtPull";
1182 h_TkPtPull_[0] = iBooker.
book1D(histname +
"All",
" Reco Track Pt pull: All ", 100, -20., 10.);
1183 histname =
"hTkPtPull";
1184 h_TkPtPull_[1] = iBooker.
book1D(histname +
"Barrel",
" Reco Track Pt pull: Barrel ", 100, -20., 10.);
1185 histname =
"hTkPtPull";
1186 h_TkPtPull_[2] = iBooker.
book1D(histname +
"Endcap",
" Reco Track Pt pull: Endcap ", 100, -20., 10.);
1188 histname =
"h2TkPtPullEta";
1191 histname =
"pTkPtPullEta";
1193 histname +
"All",
" Reco Track Pt pull: All ",
etaBin2,
etaMin,
etaMax, 100, -20., 10.,
" ");
1195 histname =
"PtRecVsPtSim";
1203 histname =
"photonPtRecVsPtSim";
1207 histname =
"nHitsBeforeVtx";
1212 histname =
"dlClosestHitToVtx";
1217 histname =
"dlClosestHitToVtxSig";
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), dqm::implementation::IBooker::bookProfile2D(), muonRecoAnalyzer_cfi::chi2Max, muonRecoAnalyzer_cfi::chi2Min, dbe_, photonValidator_cfi::dCotTracksBin, photonValidator_cfi::dCotTracksMax, photonValidator_cfi::dCotTracksMin, photonAnalyzer_cfi::dPhiTracksBin, photonAnalyzer_cfi::dPhiTracksMax, photonAnalyzer_cfi::dPhiTracksMin, dqmpath_, photonValidator_cfi::eoverpBin, photonValidationSequence_cff::eoverpMax, photonValidationSequence_cff::eoverpMin, etaBin(), conversionPostprocessing_cfi::etaBin2, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, photonAnalyzer_cfi::etBin, cosmicPhotonAnalyzer_cfi::etMax, photonAnalyzer_cfi::etMin, edm::ParameterSet::getParameter(), h2_Chi2VsEta_, h2_Chi2VsR_, h2_convVtxdRVsEta_, h2_convVtxdRVsR_, h2_convVtxRrecVsTrue_, h2_DCotTracksVsEta_, h2_DCotTracksVsR_, h2_DPhiTracksAtVtxVsEta_, h2_DPhiTracksAtVtxVsR_, h2_dzPVVsR_, h2_photonPtRecVsPtSim_, h2_PtRecVsPtSim_, h2_TkPtPull_, h_AllSimConv_, h_convEta2_, h_convEta_, h_convEtaMatchSC_, h_convPhi_, h_convPt_, h_convPtRes_, h_convR_, h_convRplot_, h_convSCdEta_, h_convSCdPhi_, h_convVtxdEta_, h_convVtxdPhi_, h_convVtxdR_, h_convVtxdR_barrel_, h_convVtxdR_endcap_, h_convVtxdX_, h_convVtxdX_barrel_, h_convVtxdX_endcap_, h_convVtxdY_, h_convVtxdY_barrel_, h_convVtxdY_endcap_, h_convVtxdZ_, h_convVtxdZ_barrel_, h_convVtxdZ_endcap_, h_convVtxRvsZ_, h_convVtxRvsZ_zoom_, h_convVtxYvsX_, h_convVtxYvsX_zoom_, h_convZ_, h_convZplot_, h_DCotTracks_, h_deltaExpectedHitsInner_, h_distMinAppTracks_, h_dlClosestHitToVtx_, h_dlClosestHitToVtxSig_, h_DPhiTracksAtVtx_, h_dzPVFromTracks_, h_EoverPTracks_, h_invMass_, h_leadExpectedHitsInner_, h_leadNHitsBeforeVtx_, h_lxybs_, h_match_, h_maxDlClosestHitToVtx_, h_maxDlClosestHitToVtxSig_, h_maxNHitsBeforeVtx_, h_nConv_, h_nHitsBeforeVtx_, h_nSharedHits_, h_nSimConv_, h_SimConvEtaPix_, h_SimConvTwoMTracks_, h_SimConvTwoMTracksAndVtxPGT0005_, h_SimConvTwoMTracksAndVtxPGT0_, h_SimConvTwoTracks_, h_simConvVtxRvsZ_, h_simConvVtxYvsX_, h_SimRecConvTwoMTracks_, h_simTkEta_, h_simTkPt_, h_sumNHitsBeforeVtx_, h_tkChi2_, h_tkChi2Large_, h_TkD0_, h_TkPtPull_, h_trailNHitsBeforeVtx_, h_VisSimConv_, h_vtxChi2Prob_, h_zPVFromTracks_, maxPhoEtaForEffic, maxPhoEtaForPurity, maxPhoRForEffic, maxPhoRForPurity, maxPhoZForEffic, maxPhoZForPurity, minPhoPtForEffic, minPhoPtForPurity, nEntry_, nEvt_, nHits_, nHitsVsEta_, nHitsVsR_, nInvalidPCA_, nRecConv_, nRecConvAss_, nRecConvAssWithEcal_, p2_convVtxdRVsRZ_, p2_convVtxdZVsRZ_, p_Chi2VsEta_, p_Chi2VsR_, p_convVtxdRVsEta_, p_convVtxdRVsR_, p_convVtxdXVsX_, p_convVtxdYVsY_, p_convVtxdZVsR_, p_convVtxdZVsZ_, p_DCotTracksVsEta_, p_DCotTracksVsR_, p_DPhiTracksAtVtxVsEta_, p_DPhiTracksAtVtxVsR_, p_dzPVVsR_, p_nHitsVsEta_, p_nHitsVsR_, p_TkPtPull_, parameters_, BeamMonitor_cff::phiBin, AlignmentTrackSelector_cfi::phiMax, AlignmentTrackSelector_cfi::phiMin, photonAnalyzer_cfi::rBin, photonValidator_cfi::rBinForXray, photonValidator_cfi::resBin, photonValidator_cfi::resMax, photonValidator_cfi::resMin, photonAnalyzer_cfi::rMax, photonValidator_cfi::rMaxForXray, photonAnalyzer_cfi::rMin, photonValidator_cfi::rMinForXray, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, photonAnalyzer_cfi::zBin, photonValidator_cfi::zBin2ForXray, photonValidator_cfi::zBinForXray, photonAnalyzer_cfi::zMax, photonValidator_cfi::zMaxForXray, photonAnalyzer_cfi::zMin, and photonValidator_cfi::zMinForXray.
◆ dqmBeginRun()
◆ dqmEndRun()
◆ endJob()
void TkConvValidator::endJob |
( |
void |
| ) |
|
|
overridevirtual |
◆ etaTransformation()
float TkConvValidator::etaTransformation |
( |
float |
a, |
|
|
float |
b |
|
) |
| |
|
private |
◆ phiNormalization()
float TkConvValidator::phiNormalization |
( |
float & |
a | ) |
|
|
private |
◆ recalculateMomentumAtFittedVertex()
Definition at line 2243 of file TkConvValidator.cc.
2250 sqrt(
vtx.position().perp2()) + 0.001
f,
2251 -fabs(
vtx.position().z()),
2252 fabs(
vtx.position().z()));
2264 stateAtVtx = propag.propagate(myTSOS, *theBarrel_);
2266 stateAtVtx = propag.propagate(myTSOS, *theDisk_);
References anyDirection, Cylinder::computeRadius(), f, TrajectoryStateOnSurface::globalMomentum(), trajectoryStateTransform::innerStateOnSurface(), TrajectoryStateOnSurface::isValid(), PropagatorWithMaterial::propagate(), mps_fire::result, makeMuonMisalignmentScenario::rot, mathSSE::sqrt(), extraflags_cff::vtx, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by analyze().
◆ arbitratedEcalSeeded_
bool TkConvValidator::arbitratedEcalSeeded_ |
|
private |
◆ arbitratedMerged_
bool TkConvValidator::arbitratedMerged_ |
|
private |
◆ bcEtLow_
double TkConvValidator::bcEtLow_ |
|
private |
◆ beamspotToken_
◆ caloGeometryToken_
◆ conversionCollection_
std::string TkConvValidator::conversionCollection_ |
|
private |
◆ conversionCollectionPr_Token_
◆ conversionCollectionProducer_
std::string TkConvValidator::conversionCollectionProducer_ |
|
private |
◆ conversionTrackProducer_
std::string TkConvValidator::conversionTrackProducer_ |
|
private |
◆ dbe_
◆ dCotCutOn_
bool TkConvValidator::dCotCutOn_ |
|
private |
◆ dCotCutValue_
double TkConvValidator::dCotCutValue_ |
|
private |
◆ dCotHardCutValue_
double TkConvValidator::dCotHardCutValue_ |
|
private |
◆ dqmpath_
std::string TkConvValidator::dqmpath_ |
|
private |
◆ ecalalgotracks_
bool TkConvValidator::ecalalgotracks_ |
|
private |
◆ ecalEtSumCut_
double TkConvValidator::ecalEtSumCut_ |
|
private |
◆ ecalIsolRadius_
double TkConvValidator::ecalIsolRadius_ |
|
private |
◆ fName_
std::string TkConvValidator::fName_ |
|
private |
◆ g4_simTk_Token_
◆ g4_simVtx_Token_
◆ generalTracksOnly_
bool TkConvValidator::generalTracksOnly_ |
|
private |
◆ genjets_Token_
◆ h2_Chi2VsEta_
◆ h2_Chi2VsR_
◆ h2_convVtxdRVsEta_
◆ h2_convVtxdRVsR_
◆ h2_convVtxRrecVsTrue_
◆ h2_DCotTracksVsEta_
◆ h2_DCotTracksVsR_
◆ h2_DPhiTracksAtEcalVsEta_
◆ h2_DPhiTracksAtEcalVsR_
◆ h2_DPhiTracksAtVtxVsEta_
◆ h2_DPhiTracksAtVtxVsR_
◆ h2_dzPVVsR_
◆ h2_photonPtRecVsPtSim_
◆ h2_PtRecVsPtSim_
◆ h2_TkPtPull_
◆ h_AllSimConv_
◆ h_convEta2_
◆ h_convEta_
◆ h_convEtaMatchSC_
◆ h_convPhi_
◆ h_convPt_
◆ h_convPtRes_
◆ h_convR_
◆ h_convRplot_
◆ h_convSCdEta_
◆ h_convSCdPhi_
◆ h_convVtxdEta_
◆ h_convVtxdPhi_
◆ h_convVtxdR_
◆ h_convVtxdR_barrel_
◆ h_convVtxdR_endcap_
◆ h_convVtxdX_
◆ h_convVtxdX_barrel_
◆ h_convVtxdX_endcap_
◆ h_convVtxdY_
◆ h_convVtxdY_barrel_
◆ h_convVtxdY_endcap_
◆ h_convVtxdZ_
◆ h_convVtxdZ_barrel_
◆ h_convVtxdZ_endcap_
◆ h_convVtxRvsZ_
◆ h_convVtxRvsZ_zoom_
◆ h_convVtxYvsX_
◆ h_convVtxYvsX_zoom_
◆ h_convZ_
◆ h_convZplot_
◆ h_DCotTracks_
◆ h_deltaExpectedHitsInner_
◆ h_DEtaTracksAtEcal_
◆ h_distMinAppTracks_
◆ h_dlClosestHitToVtx_
◆ h_dlClosestHitToVtxSig_
◆ h_DPhiTracksAtEcal_
◆ h_DPhiTracksAtVtx_
◆ h_dzPVFromTracks_
◆ h_EoverPTracks_
◆ h_invMass_
◆ h_leadExpectedHitsInner_
◆ h_leadNHitsBeforeVtx_
◆ h_lxybs_
◆ h_match_
◆ h_maxDlClosestHitToVtx_
◆ h_maxDlClosestHitToVtxSig_
◆ h_maxNHitsBeforeVtx_
◆ h_nConv_
◆ h_nHitsBeforeVtx_
◆ h_nSharedHits_
◆ h_nSimConv_
◆ h_RecoConvTwoMTracks_
◆ h_RecoConvTwoTracks_
◆ h_SimConvEtaPix_
◆ h_SimConvOneMTracks_
◆ h_SimConvOneTracks_
◆ h_SimConvTwoMTracks_
◆ h_SimConvTwoMTracksAndVtxPGT0005_
◆ h_SimConvTwoMTracksAndVtxPGT01_
◆ h_SimConvTwoMTracksAndVtxPGT0_
◆ h_SimConvTwoTracks_
◆ h_simConvVtxRvsZ_
◆ h_simConvVtxYvsX_
◆ h_SimRecConvOneMTracks_
◆ h_SimRecConvOneTracks_
◆ h_SimRecConvTwoMTracks_
◆ h_SimRecConvTwoTracks_
◆ h_simTkEta_
◆ h_simTkPt_
◆ h_sumNHitsBeforeVtx_
◆ h_tkChi2_
◆ h_tkChi2Large_
◆ h_TkD0_
◆ h_TkPtPull_
◆ h_trailNHitsBeforeVtx_
◆ h_VisSimConv_
◆ h_VisSimConvLarge_
◆ h_vtxChi2Prob_
◆ h_zPVFromTracks_
◆ hcalEtSumCut_
double TkConvValidator::hcalEtSumCut_ |
|
private |
◆ hcalHitEtLow_
double TkConvValidator::hcalHitEtLow_ |
|
private |
◆ hcalIsolExtRadius_
double TkConvValidator::hcalIsolExtRadius_ |
|
private |
◆ hcalIsolInnRadius_
double TkConvValidator::hcalIsolInnRadius_ |
|
private |
◆ hepMC_Token_
◆ highPurity_
bool TkConvValidator::highPurity_ |
|
private |
◆ isRunCentrally_
bool TkConvValidator::isRunCentrally_ |
|
private |
◆ label_tp_
◆ lip_
double TkConvValidator::lip_ |
|
private |
◆ magneticFieldToken_
◆ maxHitsBeforeVtx_
uint TkConvValidator::maxHitsBeforeVtx_ |
|
private |
◆ maxPhoEtaForEffic
double TkConvValidator::maxPhoEtaForEffic |
|
private |
◆ maxPhoEtaForPurity
double TkConvValidator::maxPhoEtaForPurity |
|
private |
◆ maxPhoRForEffic
double TkConvValidator::maxPhoRForEffic |
|
private |
◆ maxPhoRForPurity
double TkConvValidator::maxPhoRForPurity |
|
private |
◆ maxPhoZForEffic
double TkConvValidator::maxPhoZForEffic |
|
private |
◆ maxPhoZForPurity
double TkConvValidator::maxPhoZForPurity |
|
private |
◆ mcConvEta_
double TkConvValidator::mcConvEta_ |
|
private |
◆ mcConvPhi_
double TkConvValidator::mcConvPhi_ |
|
private |
◆ mcConvPt_
double TkConvValidator::mcConvPt_ |
|
private |
◆ mcConvR_
double TkConvValidator::mcConvR_ |
|
private |
◆ mcConvX_
double TkConvValidator::mcConvX_ |
|
private |
◆ mcConvY_
double TkConvValidator::mcConvY_ |
|
private |
◆ mcConvZ_
double TkConvValidator::mcConvZ_ |
|
private |
◆ mcEta_
double TkConvValidator::mcEta_ |
|
private |
◆ mcJetEta_
double TkConvValidator::mcJetEta_ |
|
private |
◆ mcJetPhi_
double TkConvValidator::mcJetPhi_ |
|
private |
◆ mcPhi_
double TkConvValidator::mcPhi_ |
|
private |
◆ minLxy_
double TkConvValidator::minLxy_ |
|
private |
◆ minPhoEtCut_
double TkConvValidator::minPhoEtCut_ |
|
private |
◆ minPhoPtForEffic
double TkConvValidator::minPhoPtForEffic |
|
private |
◆ minPhoPtForPurity
double TkConvValidator::minPhoPtForPurity |
|
private |
◆ minProb_
double TkConvValidator::minProb_ |
|
private |
◆ nEntry_
int TkConvValidator::nEntry_ |
|
private |
◆ nEvt_
int TkConvValidator::nEvt_ |
|
private |
◆ nHits_
◆ nHitsVsEta_
◆ nHitsVsR_
◆ nInvalidPCA_
int TkConvValidator::nInvalidPCA_ |
|
private |
◆ nMatched_
int TkConvValidator::nMatched_ |
|
private |
◆ nRecConv_
int TkConvValidator::nRecConv_ |
|
private |
◆ nRecConvAss_
int TkConvValidator::nRecConvAss_ |
|
private |
◆ nRecConvAssWithEcal_
int TkConvValidator::nRecConvAssWithEcal_ |
|
private |
◆ nSimConv_
int TkConvValidator::nSimConv_[2] |
|
private |
◆ numOfTracksInCone_
int TkConvValidator::numOfTracksInCone_ |
|
private |
◆ offline_pvToken_
◆ p2_convVtxdRVsRZ_
◆ p2_convVtxdZVsRZ_
◆ p2_effRZ_
◆ p_Chi2VsEta_
◆ p_Chi2VsR_
◆ p_convVtxdRVsEta_
◆ p_convVtxdRVsR_
◆ p_convVtxdXVsX_
◆ p_convVtxdYVsY_
◆ p_convVtxdZVsR_
◆ p_convVtxdZVsZ_
◆ p_DCotTracksVsEta_
◆ p_DCotTracksVsR_
◆ p_DPhiTracksAtEcalVsEta_
◆ p_DPhiTracksAtEcalVsR_
◆ p_DPhiTracksAtVtxVsEta_
◆ p_DPhiTracksAtVtxVsR_
◆ p_dzPVVsR_
◆ p_nHitsVsEta_
◆ p_nHitsVsR_
◆ p_TkPtPull_
◆ parameters_
◆ photonCollection_
std::string TkConvValidator::photonCollection_ |
|
private |
◆ photonCollectionPr_Token_
◆ photonCollectionProducer_
std::string TkConvValidator::photonCollectionProducer_ |
|
private |
◆ recMaxPt_
double TkConvValidator::recMaxPt_ |
|
private |
◆ recMinPt_
double TkConvValidator::recMinPt_ |
|
private |
◆ simMaxPt_
double TkConvValidator::simMaxPt_ |
|
private |
◆ simMinPt_
double TkConvValidator::simMinPt_ |
|
private |
◆ theCaloGeom_
◆ theCaloTopo_
◆ theConvTP_
◆ theMF_
◆ thePhotonMCTruthFinder_
◆ tpSelForEff_Token_
◆ tpSelForFake_Token_
◆ trackAssociator_Token_
◆ trackerGeometryToken_
◆ transientTrackBuilderToken_
◆ trkIsolExtRadius_
double TkConvValidator::trkIsolExtRadius_ |
|
private |
◆ trkIsolInnRadius_
double TkConvValidator::trkIsolInnRadius_ |
|
private |
◆ trkPtLow_
double TkConvValidator::trkPtLow_ |
|
private |
◆ trkPtSumCut_
double TkConvValidator::trkPtSumCut_ |
|
private |
◆ verbosity_
int TkConvValidator::verbosity_ |
|
private |
MonitorElement * h_convR_[3][3]
MonitorElement * p_convVtxdZVsZ_
double pairCotThetaSeparation() const
Delta cot(Theta) where Theta is the angle in the (y,z) plane between the two tracks....
MonitorElement * h_convEta_[3][3]
bool isValid() const
Tells whether the vertex is valid.
const auto good
min quality of good
MonitorElement * h_SimRecConvTwoMTracks_[5]
MonitorElement * h_TkD0_[3]
void clear()
Clear the vector.
bool arbitratedEcalSeeded_
edm::ESHandle< MagneticField > theMF_
MonitorElement * h_distMinAppTracks_[3][3]
MonitorElement * p_DPhiTracksAtVtxVsEta_
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
MonitorElement * h2_Chi2VsR_[3]
MonitorElement * h_convEta2_[3][3]
MonitorElement * h_convVtxdR_barrel_
T const * product() const
MonitorElement * h_convVtxYvsX_
int etaBin(const l1t::HGCalMulticluster *cl)
MonitorElement * h_SimConvTwoTracks_[5]
MonitorElement * h_convEtaMatchSC_[3][3]
std::vector< edm::RefToBase< reco::Track > > const & tracks() const
vector of track to base references
MonitorElement * h_convSCdPhi_[3][3]
MonitorElement * h_VisSimConv_[6]
constexpr double deltaPhi(double phi1, double phi2)
float ChiSquaredProbability(double chiSquared, double nrDOF)
MonitorElement * h_deltaExpectedHitsInner_[3][3]
MonitorElement * h_simConvVtxYvsX_
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
reco::RecoToSimCollection associateRecoToSim(const edm::Handle< edm::View< reco::Track >> &tCH, const edm::Handle< TrackingParticleCollection > &tPCH) const
std::vector< Vertex > VertexCollection
collection of Vertex objects
const_iterator begin() const
Initialize an iterator over the RefVector.
MonitorElement * h_convRplot_
MonitorElement * h2_DCotTracksVsEta_
MonitorElement * h2_convVtxdRVsEta_
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * h_simTkEta_
MonitorElement * p_DCotTracksVsEta_
MonitorElement * h2_DPhiTracksAtVtxVsR_
double pairInvariantMass() const
if nTracks=2 returns the pair invariant mass. Original tracks are used here
double zOfPrimaryVertexFromTracks(const math::XYZPoint &myBeamSpot=math::XYZPoint()) const
edm::EDGetTokenT< TrackingParticleRefVector > tpSelForEff_Token_
const std::vector< Measurement1DFloat > & dlClosestHitToVtx() const
Vector of signed decay length with uncertainty from nearest hit on track to the conversion vtx positi...
const Point & position() const
position
MonitorElement * h_convVtxdPhi_
MonitorElement * h_EoverPTracks_[3][3]
MonitorElement * p_TkPtPull_[3]
MonitorElement * h2_dzPVVsR_
MonitorElement * h_convVtxdR_endcap_
std::vector< PhotonMCTruth > find(const std::vector< SimTrack > &simTracks, const std::vector< SimVertex > &simVertices)
Log< level::Info, false > LogInfo
MonitorElement * h2_photonPtRecVsPtSim_
MonitorElement * p_dzPVVsR_
int numberOfLostHits(HitCategory category) const
edm::ParameterSet parameters_
MonitorElement * nHits_[3]
edm::EDGetTokenT< reco::ConversionCollection > conversionCollectionPr_Token_
MonitorElement * h_TkPtPull_[3]
edm::EDGetTokenT< reco::BeamSpot > beamspotToken_
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0_[5]
MonitorElement * h_nSimConv_[2]
std::vector< Conversion > ConversionCollection
collectin of Conversion objects
double pt() const
track transverse momentum
std::string photonCollection_
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeometryToken_
math::XYZVectorF refittedPairMomentum() const
Conversion tracks momentum from the tracks refitted with vertex constraint.
edm::EDGetTokenT< TrackingParticleRefVector > tpSelForFake_Token_
MonitorElement * h_dlClosestHitToVtxSig_[3]
const_iterator end() const
Termination of iteration.
const std::vector< uint8_t > & nHitsBeforeVtx() const
Vector of the number of hits before the vertex along each track trajector.
MonitorElement * h2_convVtxRrecVsTrue_
void push_back(const RefToBase< T > &)
MonitorElement * h_convVtxdZ_endcap_
MonitorElement * h_leadExpectedHitsInner_[3][3]
MonitorElement * p2_convVtxdZVsRZ_
MonitorElement * nHitsVsR_[3]
MonitorElement * h_convVtxdX_
float etaTransformation(float a, float b)
MonitorElement * h_convSCdEta_[3][3]
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
MonitorElement * h_convVtxdY_endcap_
MonitorElement * h2_Chi2VsEta_[3]
MonitorElement * h_convPhi_[3][3]
MonitorElement * h_sumNHitsBeforeVtx_[3][3]
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
MonitorElement * p_nHitsVsR_[3]
value_type const * get() const
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magneticFieldToken_
const std::vector< Track > & refittedTracks() const
Returns the container of refitted tracks.
math::XYZVector recalculateMomentumAtFittedVertex(const MagneticField &mf, const TrackerGeometry &trackerGeom, const edm::RefToBase< reco::Track > &tk, const reco::Vertex &vtx)
MonitorElement * h_lxybs_[3][3]
edm::EDGetTokenT< edm::SimTrackContainer > g4_simTk_Token_
MonitorElement * h_nHitsBeforeVtx_[3]
double maxPhoEtaForPurity
MonitorElement * h_simConvVtxRvsZ_[4]
MonitorElement * h_DPhiTracksAtVtx_[3][3]
MonitorElement * h_convVtxdX_barrel_
MonitorElement * h_simTkPt_
MonitorElement * h_maxDlClosestHitToVtx_[3][3]
MonitorElement * p_convVtxdRVsR_
std::string conversionCollectionProducer_
MonitorElement * p_Chi2VsEta_[3]
bool quality(ConversionQuality q) const
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
std::string photonCollectionProducer_
const reco::Vertex & conversionVertex() const
returns the reco conversion vertex
double x() const
x coordinate
MonitorElement * h_convPt_[3][3]
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
XYZVectorD XYZVector
spatial vector with cartesian internal representation
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
MonitorElement * h_zPVFromTracks_[2]
MonitorElement * h_convVtxYvsX_zoom_[2]
Tan< T >::type tan(const T &t)
MonitorElement * h_trailNHitsBeforeVtx_[3][3]
MonitorElement * p_DPhiTracksAtVtxVsR_
double distOfMinimumApproach() const
MonitorElement * h_convVtxRvsZ_zoom_[2]
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
MonitorElement * h_convVtxdEta_
MonitorElement * h_SimConvTwoMTracks_[5]
std::string conversionCollection_
MonitorElement * p_convVtxdRVsEta_
Log< level::Error, false > LogError
MonitorElement * h_DCotTracks_[3][3]
MonitorElement * h_dlClosestHitToVtx_[3]
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
MonitorElement * h_dzPVFromTracks_[2]
MonitorElement * p_convVtxdYVsY_
MonitorElement * h_match_
MonitorElement * h_vtxChi2Prob_[3][3]
double chi2() const
chi-squares
MonitorElement * h_convVtxdY_
edm::RefVector< TrackingParticleCollection > theConvTP_
TrackAlgorithm algo() const
MonitorElement * h_AllSimConv_[5]
Denominator for efficiencies.
MonitorElement * h_convVtxdR_
MonitorElement * h2_TkPtPull_[3]
MonitorElement * h_maxNHitsBeforeVtx_[3][3]
MonitorElement * p_DCotTracksVsR_
MonitorElement * h_convZplot_
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
double x0() const
x coordinate
bool empty() const
return true if empty
uint8_t nSharedHits() const
number of shared hits btw the two track
MonitorElement * p2_convVtxdRVsRZ_
GlobalVector globalMomentum() const
MonitorElement * p_nHitsVsEta_[3]
MonitorElement * h_convVtxdY_barrel_
edm::EDGetTokenT< reco::PhotonCollection > photonCollectionPr_Token_
double y() const
y coordinate
MonitorElement * h_convVtxdX_endcap_
MonitorElement * h_convVtxdZ_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
edm::EDGetTokenT< edm::SimVertexContainer > g4_simVtx_Token_
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float > > XYZVectorF
spatial vector with cartesian internal representation
MonitorElement * h2_convVtxdRVsR_
PhotonMCTruthFinder * thePhotonMCTruthFinder_
MonitorElement * h_convVtxdZ_barrel_
T getParameter(std::string const &) const
MonitorElement * h_SimConvEtaPix_[2]
reco::SimToRecoCollection associateSimToReco(const edm::Handle< edm::View< reco::Track >> &tCH, const edm::Handle< TrackingParticleCollection > &tPCH) const
MonitorElement * p_Chi2VsR_[3]
MonitorElement * h_nSharedHits_[3][3]
static float computeRadius(Bounds const &bounds)
key_type key() const
Accessor for product key.
std::vector< Photon > PhotonCollection
collectin of Photon objects
Abs< T >::type abs(const T &t)
MonitorElement * h_SimConvTwoMTracksAndVtxPGT0005_[5]
MonitorElement * h_nConv_[3][3]
info per conversion
edm::ESHandle< CaloGeometry > theCaloGeom_
MonitorElement * p_convVtxdXVsX_
MonitorElement * p_convVtxdZVsR_
MonitorElement * h_leadNHitsBeforeVtx_[3][3]
MonitorElement * h2_PtRecVsPtSim_[3]
edm::EDGetTokenT< reco::TrackToTrackingParticleAssociator > trackAssociator_Token_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryToken_
static constexpr float ZEcal
MonitorElement * nHitsVsEta_[3]
double y0() const
y coordinate
float phiNormalization(float &a)
size_type size() const
Size of the RefVector.
static constexpr float d0
double mcPhi_
global variable for the MC photon
MonitorElement * h_maxDlClosestHitToVtxSig_[3][3]
static constexpr float Z_Endcap
MonitorElement * h_tkChi2Large_[3]
static constexpr float R_ECAL
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * h_invMass_[3][3]
MonitorElement * h_tkChi2_[3]
MonitorElement * h_convZ_[3][3]
MonitorElement * h_convVtxRvsZ_[3]
MonitorElement * h_convPtRes_[3]
static constexpr float etaBarrelEndcap
MonitorElement * h2_DPhiTracksAtVtxVsEta_
MonitorElement * h2_DCotTracksVsR_