|
|
#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 |
|
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 |
|
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::vector< ModuleDescription const * > &modules, 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 |
|
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 49 of file TkConvValidator.h.
◆ TkConvValidator()
◆ ~TkConvValidator()
TkConvValidator::~TkConvValidator |
( |
| ) |
|
|
override |
◆ analyze()
Reimplemented from DQMOneEDAnalyzer<>.
Definition at line 1239 of file TkConvValidator.cc.
1241 using namespace edm;
1245 const float BARL = 1.4442;
1247 const float END_HI = 2.5;
1255 LogInfo(
"TkConvValidator") <<
"TkConvValidator Analyzing event number: " <<
e.id() <<
" Global Counter " <<
nEvt_
1271 edm::LogError(
"ConversionsProducer") <<
"Error! Can't get the collection " << std::endl;
1279 if (!photonHandle.
isValid()) {
1280 edm::LogError(
"PhotonProducer") <<
"Error! Can't get the Photon collection " << std::endl;
1288 if (!vertexHandle.
isValid()) {
1289 edm::LogError(
"TrackerOnlyConversionProducer") <<
"Error! Can't get the product primary Vertex Collection "
1295 bool valid_pvtx =
false;
1307 edm::LogError(
"TrackerOnlyConversionProducer") <<
"Error! Can't get the product primary Vertex Collection "
1340 const std::vector<SimTrack>& theSimTracks = *SimTk;
1341 const std::vector<SimVertex>& theSimVertices = *SimVtx;
1357 std::map<const reco::Track*, TrackingParticleRef> myAss;
1358 std::map<const reco::Track*, TrackingParticleRef>::const_iterator itAss;
1360 for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
1361 mcConvPt_ = (*mcPho).fourMomentum().et();
1362 float mcPhi = (*mcPho).fourMomentum().phi();
1364 mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
1366 mcConvR_ = (*mcPho).vertex().perp();
1373 if (fabs(
mcEta_) > END_HI)
1386 bool goodSimConversion =
false;
1387 bool visibleConversion =
false;
1388 bool visibleConversionsWithTwoSimTracks =
false;
1389 if ((*mcPho).isAConversion() == 1) {
1401 (fabs(
mcEta_) > BARL && fabs(
mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210))
1402 visibleConversion =
true;
1408 if (fabs(
tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(
tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
1409 fabs(
tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
1416 visibleConversionsWithTwoSimTracks =
true;
1417 goodSimConversion =
false;
1419 if (visibleConversion && visibleConversionsWithTwoSimTracks)
1420 goodSimConversion =
true;
1421 if (goodSimConversion) {
1438 if (!(visibleConversion && visibleConversionsWithTwoSimTracks))
1442 if (fabs(
mcEta_) <= 1.) {
1454 bool recomatch =
false;
1455 float chi2Prob = 0.;
1458 for (reco::ConversionCollection::const_iterator
conv = convHandle->begin();
conv != convHandle->end(); ++
conv) {
1471 const std::vector<edm::RefToBase<reco::Track> >&
tracks = aConv.
tracks();
1475 if (
tracks.size() != 2 || !(
vtx.isValid()))
1488 double lxy = (themom.x() * dbsx + themom.y() * dbsy) / themom.rho();
1512 bool isAssociated =
false;
1516 std::vector<std::pair<RefToBase<reco::Track>,
double> > trackV1, trackV2;
1518 int tp_1 = 0, tp_2 = 1;
1520 trackV1 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q1[
theConvTP_[0]];
1522 trackV1 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q1[
theConvTP_[1]];
1526 trackV2 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q2[
theConvTP_[1]];
1528 trackV2 = (std::vector<std::pair<RefToBase<reco::Track>,
double> >)
q2[
theConvTP_[0]];
1531 if (!(!trackV1.empty() && !trackV2.empty()))
1548 isAssociated =
true;
1577 if (chi2Prob > 0.0005) {
1590 for (reco::ConversionCollection::const_iterator
conv = convHandle->begin();
conv != convHandle->end(); ++
conv) {
1603 std::vector<edm::RefToBase<reco::Track> >
tracks = aConv.
tracks();
1607 if (
tracks.size() != 2 || !(
vtx.isValid()))
1621 double lxy = (themom.x() * dbsx + themom.y() * dbsy) / themom.rho();
1626 bool phoIsInBarrel =
false;
1627 bool phoIsInEndcap =
false;
1644 float dPhiTracksAtVtx;
1648 if (p1AtVtx.perp2() > p2AtVtx.perp2())
1649 dPhiTracksAtVtx = p1AtVtx.phi() - p2AtVtx.phi();
1651 dPhiTracksAtVtx = p2AtVtx.phi() - p1AtVtx.phi();
1655 if (fabs(refittedMom.eta()) < 1.479) {
1656 phoIsInBarrel =
true;
1658 phoIsInEndcap =
true;
1664 double Mindeltaeta = 999999;
1665 double Mindeltaphi = 999999;
1666 bool matchConvSC =
false;
1667 reco::PhotonCollection::const_iterator iMatchingSC;
1673 double deltaeta =
abs(aPho.
superCluster()->position().eta() - ConvEta);
1674 if (
abs(deltaeta) <
abs(Mindeltaeta) &&
abs(deltaphi) <
abs(Mindeltaphi)) {
1675 Mindeltaphi =
abs(deltaphi);
1676 Mindeltaeta =
abs(deltaeta);
1680 if (
abs(Mindeltaeta) < 0.1 &&
abs(Mindeltaphi) < 0.1) {
1688 uint maxNHitsBeforeVtx =
1690 uint sumNHitsBeforeVtx =
1695 float maxDlClosestHitToVtxSig =
1701 int ilead = 0, itrail = 1;
1702 if (tk2->
pt() > tk1->
pt()) {
1758 if (phoIsInBarrel) {
1791 if (phoIsInEndcap) {
1822 for (
unsigned int i = 0;
i <
tracks.size();
i++) {
1850 bool associated =
false;
1854 for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
1855 mcConvPt_ = (*mcPho).fourMomentum().et();
1856 float mcPhi = (*mcPho).fourMomentum().phi();
1857 simPV_Z = (*mcPho).primaryVertex().z();
1859 mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
1861 mcConvR_ = (*mcPho).vertex().perp();
1867 if (fabs(
mcEta_) > END_HI)
1878 if ((*mcPho).isAConversion() != 1)
1881 (fabs(
mcEta_) > BARL && fabs(
mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210)))
1886 if (fabs(
tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(
tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
1887 fabs(
tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
1899 auto itP1 =
p1.find(tk1);
1900 auto itP2 =
p2.find(tk2);
1901 bool good = (itP1 !=
p1.end()) and (not itP1->val.empty()) and (itP2 !=
p2.end()) and (not itP2->val.empty());
1903 itP1 =
p1.find(tk2);
1904 itP2 =
p2.find(tk1);
1905 good = (itP1 !=
p1.end()) and (not itP1->val.empty()) and (itP2 !=
p2.end()) and (not itP2->val.empty());
1909 std::vector<std::pair<TrackingParticleRef, double> >
const& tp1 = itP1->val;
1910 std::vector<std::pair<TrackingParticleRef, double> >
const& tp2 = itP2->val;
1913 if (
abs(tpr1->pdgId()) == 11 &&
abs(tpr2->pdgId()) == 11 && tpr1->pdgId() * tpr2->pdgId() < 0) {
1914 if ((tpr1->parentVertex()->sourceTracks_end() - tpr1->parentVertex()->sourceTracks_begin() == 1) &&
1915 (tpr2->parentVertex()->sourceTracks_end() - tpr2->parentVertex()->sourceTracks_begin() == 1)) {
1916 if (tpr1->parentVertex().
key() == tpr2->parentVertex().
key() &&
1917 ((*tpr1->parentVertex()->sourceTracks_begin())->
pdgId() == 22)) {
1918 mcConvR_ =
sqrt(tpr1->parentVertex()->position().Perp2());
1919 mcConvZ_ = tpr1->parentVertex()->position().z();
1920 mcConvX_ = tpr1->parentVertex()->position().x();
1921 mcConvY_ = tpr1->parentVertex()->position().y();
1922 mcConvEta_ = tpr1->parentVertex()->position().eta();
1923 mcConvPhi_ = tpr1->parentVertex()->position().phi();
1924 mcConvPt_ =
sqrt((*tpr1->parentVertex()->sourceTracks_begin())->momentum().Perp2());
1943 for (std::vector<PhotonMCTruth>::const_iterator mcPho = mcPhotons.begin(); mcPho != mcPhotons.end(); mcPho++) {
1944 mcConvPt_ = (*mcPho).fourMomentum().et();
1945 float mcPhi = (*mcPho).fourMomentum().phi();
1946 simPV_Z = (*mcPho).primaryVertex().z();
1948 mcEta_ = (*mcPho).fourMomentum().pseudoRapidity();
1950 mcConvR_ = (*mcPho).vertex().perp();
1956 if (fabs(
mcEta_) > END_HI)
1967 if ((*mcPho).isAConversion() != 1)
1970 (fabs(
mcEta_) > BARL && fabs(
mcEta_) <= END_HI && fabs((*mcPho).vertex().z()) < 210)))
1975 if (fabs(
tp->vx() - (*mcPho).vertex().x()) < 0.0001 && fabs(
tp->vy() - (*mcPho).vertex().y()) < 0.0001 &&
1976 fabs(
tp->vz() - (*mcPho).vertex().z()) < 0.0001) {
1988 if ((!p1incl.
empty() && !p2incl.
empty()) && (!
p1.empty() || !
p2.empty())) {
1990 std::vector<std::pair<TrackingParticleRef, double> > tp1 = p1incl[tk1];
1991 std::vector<std::pair<TrackingParticleRef, double> > tp2 = p2incl[tk2];
1992 if (!(!tp1.empty() && !tp2.empty())) {
1996 if (!tp1.empty() && !tp2.empty()) {
1999 if (
abs(tpr1->pdgId()) == 11 &&
abs(tpr2->pdgId()) == 11 && tpr1->pdgId() * tpr2->pdgId() < 0) {
2000 if (((tpr1->parentVertex()->sourceTracks_end() - tpr1->parentVertex()->sourceTracks_begin() >= 1) &&
2001 (*tpr1->parentVertex()->sourceTracks_begin())->
pdgId() == 22) &&
2002 ((tpr2->parentVertex()->sourceTracks_end() - tpr2->parentVertex()->sourceTracks_begin() >= 1) &&
2003 (*tpr2->parentVertex()->sourceTracks_begin())->
pdgId() == 22)) {
2075 if (phoIsInBarrel) {
2102 if (phoIsInEndcap) {
2157 if (phoIsInBarrel) {
2163 if (phoIsInEndcap) {
2172 for (
unsigned int i = 0;
i <
tracks.size();
i++) {
2175 itAss = myAss.find(tfrb.get());
2202 if (itAss == myAss.end())
2206 float simPt =
sqrt(((*itAss).second)->momentum().perp2());
2208 float ptres =
recPt - simPt;
2215 if (phoIsInBarrel) {
2219 if (phoIsInEndcap) {
References funct::abs(), reco::TrackBase::algo(), reco::Conversion::arbitratedEcalSeeded, reco::Conversion::arbitratedMerged, reco::TrackToTrackingParticleAssociator::associateRecoToSim(), reco::TrackToTrackingParticleAssociator::associateSimToReco(), ALCARECOTkAlJpsiMuMu_cff::charge, reco::Vertex::chi2(), ChiSquaredProbability(), conv, reco::Conversion::conversionVertex(), d0, reco::deltaPhi(), reco::Conversion::distOfMinimumApproach(), reco::Conversion::dlClosestHitToVtx(), HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, edm::AssociationMap< Tag >::empty(), reco::Conversion::generalTracksOnly, edm::EventSetup::get(), edm::RefToBase< T >::get(), get, reco::Conversion::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, tkConvValidator_cfi::maxPhoEtaForEffic, tkConvValidator_cfi::maxPhoEtaForPurity, tkConvValidator_cfi::maxPhoRForEffic, tkConvValidator_cfi::maxPhoZForEffic, tkConvValidator_cfi::maxPhoZForPurity, tkConvValidator_cfi::minPhoPtForEffic, tkConvValidator_cfi::minPhoPtForPurity, reco::HitPattern::MISSING_INNER_HITS, reco::Vertex::ndof(), reco::Conversion::nHitsBeforeVtx(), TrackCollections2monitor_cff::normalizedChi2, reco::Conversion::nSharedHits(), reco::HitPattern::numberOfLostHits(), TrackCollections2monitor_cff::numberOfValidHits, reco::TrackBase::outInEcalSeededConv, p1, p2, reco::Conversion::pairCotThetaSeparation(), reco::Conversion::pairInvariantMass(), EgammaValidation_cff::pdgId, nanoDQM_cff::Photon, ExoticaDQM_cfi::photonCollection, reco::Vertex::position(), edm::Handle< T >::product(), reco::TrackBase::pt(), HiEvtPlane_cfi::pterror, edm::RefToBaseVector< T >::push_back(), q1, q2, reco::Conversion::quality(), recPt, reco::Conversion::refittedPairMomentum(), reco::Vertex::refittedTracks(), mathSSE::sqrt(), reco::Photon::superCluster(), cmsswSequenceInfo::tp, PbPb_ZMuSkimMuonDPG_cff::tracker, PDWG_EXOHSCP_cff::tracks, reco::Conversion::tracks(), 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 146 of file TkConvValidator.cc.
230 h_nSimConv_[0] = iBooker.
book1D(histname,
"# of Sim conversions per event ", 20, -0.5, 19.5);
232 histname =
"h_AllSimConvEta";
234 histname =
"h_AllSimConvPhi";
236 histname =
"h_AllSimConvR";
238 histname =
"h_AllSimConvZ";
240 histname =
"h_AllSimConvEt";
243 histname =
"nOfVisSimConversions";
244 h_nSimConv_[1] = iBooker.
book1D(histname,
"# of Sim conversions per event ", 20, -0.5, 19.5);
245 histname =
"h_VisSimConvEta";
247 histname =
"h_VisSimConvPhi";
249 histname =
"h_VisSimConvR";
251 histname =
"h_VisSimConvZ";
253 histname =
"h_VisSimConvEt";
257 histname =
"h_SimConvTwoMTracksEta";
259 histname,
" All vis conversions with 2 reco-matching tracks: simulated #eta",
etaBin2,
etaMin,
etaMax);
260 histname =
"h_SimConvTwoMTracksPhi";
262 histname,
" All vis conversions with 2 reco-matching tracks: simulated #phi",
phiBin,
phiMin,
phiMax);
263 histname =
"h_SimConvTwoMTracksR";
265 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated R",
rBin,
rMin,
rMax);
266 histname =
"h_SimConvTwoMTracksZ";
268 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Z",
zBin,
zMin,
zMax);
269 histname =
"h_SimConvTwoMTracksEt";
271 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Et",
etBin,
etMin,
etMax);
273 histname =
"h_SimConvTwoTracksEta";
276 histname =
"h_SimConvTwoTracksPhi";
279 histname =
"h_SimConvTwoTracksR";
281 iBooker.
book1D(histname,
" All vis conversions with 2 reco tracks: simulated R",
rBin,
rMin,
rMax);
282 histname =
"h_SimConvTwoTracksZ";
284 iBooker.
book1D(histname,
" All vis conversions with 2 reco tracks: simulated Z",
zBin,
zMin,
zMax);
285 histname =
"h_SimConvTwoTracksEt";
287 iBooker.
book1D(histname,
" All vis conversions with 2 reco tracks: simulated Et",
etBin,
etMin,
etMax);
289 histname =
"h_SimConvTwoMTracksEtaAndVtxPGT0";
291 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #eta",
etaBin2,
etaMin,
etaMax);
292 histname =
"h_SimConvTwoMTracksPhiAndVtxPGT0";
294 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #phi",
phiBin,
phiMin,
phiMax);
295 histname =
"h_SimConvTwoMTracksRAndVtxPGT0";
297 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated R",
rBin,
rMin,
rMax);
298 histname =
"h_SimConvTwoMTracksZAndVtxPGT0";
300 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Z",
zBin,
zMin,
zMax);
301 histname =
"h_SimConvTwoMTracksEtAndVtxPGT0";
303 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Et",
etBin,
etMin,
etMax);
306 histname =
"h_SimConvTwoMTracksEtaAndVtxPGT0005";
308 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #eta",
etaBin2,
etaMin,
etaMax);
309 histname =
"h_SimConvTwoMTracksPhiAndVtxPGT0005";
311 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated #phi",
phiBin,
phiMin,
phiMax);
312 histname =
"h_SimConvTwoMTracksRAndVtxPGT0005";
314 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated R",
rBin,
rMin,
rMax);
315 histname =
"h_SimConvTwoMTracksZAndVtxPGT0005";
317 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Z",
zBin,
zMin,
zMax);
318 histname =
"h_SimConvTwoMTracksEtAndVtxPGT0005";
320 histname,
" All vis conversions with 2 reco-matching tracks + vertex: simulated Et",
etBin,
etMin,
etMax);
322 histname =
"h_SimRecConvTwoMTracksEta";
324 histname,
" All vis conversions with 2 reco-matching tracks: simulated #eta",
etaBin2,
etaMin,
etaMax);
325 histname =
"h_SimRecConvTwoMTracksPhi";
327 histname,
" All vis conversions with 2 reco-matching tracks: simulated #phi",
phiBin,
phiMin,
phiMax);
328 histname =
"h_SimRecConvTwoMTracksR";
330 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated R",
rBin,
rMin,
rMax);
331 histname =
"h_SimRecConvTwoMTracksZ";
333 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Z",
zBin,
zMin,
zMax);
334 histname =
"h_SimRecConvTwoMTracksEt";
336 iBooker.
book1D(histname,
" All vis conversions with 2 reco-matching tracks: simulated Et",
etBin,
etMin,
etMax);
344 " Photon Sim conversion vtx position",
352 " Photon Sim conversion vtx position",
360 " Photon Sim conversion vtx position",
368 " Photon Sim conversion vtx position when reco R<4cm",
376 "simConvVtxYvsXTrkBarrel",
" Photon Sim conversion vtx position, (x,y) eta<1 ", 100, -80., 80., 100, -80., 80.);
383 histname +
"All",
"Number Of Conversions per isolated candidates per events: All Ecal ", 10, -0.5, 9.5);
385 histname +
"Barrel",
"Number Of Conversions per isolated candidates per events: Ecal Barrel ", 10, -0.5, 9.5);
387 histname +
"Endcap",
"Number Of Conversions per isolated candidates per events: Ecal Endcap ", 10, -0.5, 9.5);
389 "Number Of associated Conversions per isolated candidates per events: All Ecal ",
425 histname =
"convSCdPhi";
426 h_convSCdPhi_[0][0] = iBooker.
book1D(histname +
"All",
"dPhi between SC and conversion", 100, -0.1, 0.1);
428 iBooker.
book1D(histname +
"Barrel",
" dPhi between SC and conversion: Barrel", 100, -0.1, 0.1);
430 iBooker.
book1D(histname +
"Endcap",
" dPhi between SC and conversion: Endcap", 100, -0.1, 0.1);
431 h_convSCdPhi_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"dPhi between SC and conversion", 100, -0.1, 0.1);
433 iBooker.
book1D(histname +
"Barrel_Ass",
" dPhi between SC and conversion: Barrel", 100, -0.1, 0.1);
435 iBooker.
book1D(histname +
"Endcap_Ass",
" dPhi between SC and conversion: Endcap", 100, -0.1, 0.1);
436 h_convSCdPhi_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"dPhi between SC and conversion", 100, -0.1, 0.1);
438 iBooker.
book1D(histname +
"Barrel_Fakes",
" dPhi between SC and conversion: Barrel", 100, -0.1, 0.1);
440 iBooker.
book1D(histname +
"Endcap_Fakes",
" dPhi between SC and conversion: Endcap", 100, -0.1, 0.1);
441 histname =
"convSCdEta";
442 h_convSCdEta_[0][0] = iBooker.
book1D(histname +
"All",
" dEta between SC and conversion", 100, -0.1, 0.1);
444 iBooker.
book1D(histname +
"Barrel",
" dEta between SC and conversion: Barrel", 100, -0.1, 0.1);
446 iBooker.
book1D(histname +
"Endcap",
" dEta between SC and conversion: Endcap", 100, -0.1, 0.1);
447 h_convSCdEta_[1][0] = iBooker.
book1D(histname +
"All_Ass",
" dEta between SC and conversion", 100, -0.1, 0.1);
449 iBooker.
book1D(histname +
"Barrel_Ass",
" dEta between SC and conversion: Barrel", 100, -0.1, 0.1);
451 iBooker.
book1D(histname +
"Endcap_Ass",
" dEta between SC and conversion: Endcap", 100, -0.1, 0.1);
452 h_convSCdEta_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
" dEta between SC and conversion", 100, -0.1, 0.1);
454 iBooker.
book1D(histname +
"Barrel_Fakes",
" dEta between SC and conversion: Barrel", 100, -0.1, 0.1);
456 iBooker.
book1D(histname +
"Endcap_Fakes",
" dEta between SC and conversion: Endcap", 100, -0.1, 0.1);
458 histname =
"convPtRes";
463 histname =
"hInvMass";
465 histname +
"All_AllTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
467 " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",
472 " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",
478 histname +
"All_AssTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
480 " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",
485 " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",
491 histname +
"All_FakeTracks",
" Photons:Tracks from conversion: Pair invariant mass: all Ecal ", 100, 0., 1.5);
493 " Photons:Tracks from conversion: Pair invariant mass: Barrel Ecal ",
498 " Photons:Tracks from conversion: Pair invariant mass: Endcap Ecal ",
503 histname =
"hDPhiTracksAtVtx";
505 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
510 iBooker.
book1D(histname +
"Barrel",
511 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
516 iBooker.
book1D(histname +
"Endcap",
517 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
522 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
527 iBooker.
book1D(histname +
"Barrel_Ass",
528 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
533 iBooker.
book1D(histname +
"Endcap_Ass",
534 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
539 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: all Ecal",
544 iBooker.
book1D(histname +
"Barrel_Fakes",
545 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Barrel Ecal",
550 iBooker.
book1D(histname +
"Endcap_Fakes",
551 " Photons:Tracks from conversions: #delta#phi Tracks at vertex: Endcap Ecal",
556 histname =
"hDPhiTracksAtVtxVsEta";
558 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta",
565 histname =
"pDPhiTracksAtVtxVsEta";
568 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs #eta ",
577 histname =
"hDPhiTracksAtVtxVsR";
579 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R",
586 histname =
"pDPhiTracksAtVtxVsR";
588 " Photons:Tracks from conversions: #delta#phi Tracks at vertex vs R ",
597 histname =
"hDCotTracks";
599 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
604 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
609 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
614 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
619 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
624 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
629 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: all Ecal ",
634 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Barrel Ecal ",
639 " Photons:Tracks from conversions #delta cotg(#Theta) Tracks: Endcap Ecal ",
644 histname =
"hDCotTracksVsEta";
646 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta",
653 histname =
"pDCotTracksVsEta";
655 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks vs #eta ",
664 histname =
"hDCotTracksVsR";
666 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R",
673 histname =
"pDCotTracksVsR";
676 " Photons:Tracks from conversions: #delta cotg(#Theta) Tracks at vertex vs R ",
685 histname =
"hDistMinAppTracks";
687 histname +
"All",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ", 120, -0.5, 1.0);
689 histname +
"Barrel",
" Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ", 120, -0.5, 1.0);
691 histname +
"Endcap",
" Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ", 120, -0.5, 1.0);
693 histname +
"All_Ass",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ", 120, -0.5, 1.0);
695 iBooker.
book1D(histname +
"Barrel_Ass",
696 " Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",
701 iBooker.
book1D(histname +
"Endcap_Ass",
702 " Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",
707 histname +
"All_Fakes",
" Photons:Tracks from conversions Min Approach Dist Tracks: all Ecal ", 120, -0.5, 1.0);
709 iBooker.
book1D(histname +
"Barrel_Fakes",
710 " Photons:Tracks from conversions Min Approach Dist Tracks: Barrel Ecal ",
715 iBooker.
book1D(histname +
"Endcap_Fakes",
716 " Photons:Tracks from conversions Min Approach Dist Tracks: Endcap Ecal ",
722 " Photon Reco conversion vtx position",
730 " Photon Reco conversion vtx position",
738 " Photon Reco conversion vtx position",
746 "convVtxYvsXTrkBarrel",
" Photon Reco conversion vtx position, (x,y) eta<1 ", 1000, -60., 60., 1000, -60., 60.);
749 " Photon Reco conversion vtx position",
757 " Photon Reco conversion vtx position",
765 " Photon Reco conversion vtx position, (x,y) eta<1 ",
773 " Photon Reco conversion vtx position, (x,y) eta<1 ",
781 h_convVtxdR_ = iBooker.
book1D(
"convVtxdR",
" Photon Reco conversion vtx dR", 100, -10., 10.);
782 h_convVtxdX_ = iBooker.
book1D(
"convVtxdX",
" Photon Reco conversion vtx dX", 100, -10., 10.);
783 h_convVtxdY_ = iBooker.
book1D(
"convVtxdY",
" Photon Reco conversion vtx dY", 100, -10., 10.);
784 h_convVtxdZ_ = iBooker.
book1D(
"convVtxdZ",
" Photon Reco conversion vtx dZ", 100, -20., 20.);
786 h_convVtxdPhi_ = iBooker.
book1D(
"convVtxdPhi",
" Photon Reco conversion vtx dPhi", 100, -0.01, 0.01);
787 h_convVtxdEta_ = iBooker.
book1D(
"convVtxdEta",
" Photon Reco conversion vtx dEta", 100, -0.5, 0.5);
790 iBooker.
book1D(
"convVtxdR_barrel",
" Photon Reco conversion vtx dR, |eta|<=1.2", 100, -10., 10.);
792 iBooker.
book1D(
"convVtxdX_barrel",
" Photon Reco conversion vtx dX, |eta|<=1.2", 100, -10., 10.);
794 iBooker.
book1D(
"convVtxdY_barrel",
" Photon Reco conversion vtx dY, |eta|<=1.2 ", 100, -10., 10.);
796 iBooker.
book1D(
"convVtxdZ_barrel",
" Photon Reco conversion vtx dZ, |eta|<=1.2,", 100, -20., 20.);
799 iBooker.
book1D(
"convVtxdR_endcap",
" Photon Reco conversion vtx dR, |eta|>1.2 ", 100, -10., 10.);
801 iBooker.
book1D(
"convVtxdX_endcap",
" Photon Reco conversion vtx dX, |eta|>1.2", 100, -10., 10.);
803 iBooker.
book1D(
"convVtxdY_endcap",
" Photon Reco conversion vtx dY, |eta|>1.2", 100, -10., 10.);
805 iBooker.
book1D(
"convVtxdZ_endcap",
" Photon Reco conversion vtx dZ, |eta|>1.2", 100, -20., 20.);
823 "p2ConvVtxdRVsRZ",
"Conversion vtx dR vs RZ",
zBin,
zMin,
zMax,
rBin,
rMin,
rMax, 100, 0., 20.,
"s");
825 "p2ConvVtxdZVsRZ",
"Conversion vtx dZ vs RZ",
zBin,
zMin,
zMax,
rBin,
rMin,
rMax, 100, 0., 20.,
"s");
827 histname =
"EoverPtracks";
850 histname =
"vtxChi2Prob";
852 h_vtxChi2Prob_[0][1] = iBooker.
book1D(histname +
"Barrel",
"vertex #chi^{2} barrel", 100, 0., 1.);
853 h_vtxChi2Prob_[0][2] = iBooker.
book1D(histname +
"Endcap",
"vertex #chi^{2} endcap", 100, 0., 1.);
854 h_vtxChi2Prob_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"vertex #chi^{2} all", 100, 0., 1.);
855 h_vtxChi2Prob_[1][1] = iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 100, 0., 1.);
856 h_vtxChi2Prob_[1][2] = iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 100, 0., 1.);
857 h_vtxChi2Prob_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"vertex #chi^{2} all", 100, 0., 1.);
858 h_vtxChi2Prob_[2][1] = iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, 0., 1.);
859 h_vtxChi2Prob_[2][2] = iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, 0., 1.);
861 h_zPVFromTracks_[1] = iBooker.
book1D(
"zPVFromTracks",
" Photons: PV z from conversion tracks", 100, -25., 25.);
863 iBooker.
book1D(
"dzPVFromTracks",
" Photons: PV Z_rec - Z_true from conversion tracks", 100, -5., 5.);
869 h_lxybs_[0][0] = iBooker.
book1D(histname +
"All",
"vertex #chi^{2} all", 200, -100., 100.);
870 h_lxybs_[0][1] = iBooker.
book1D(histname +
"Barrel",
"vertex #chi^{2} barrel", 200, -100., 100.);
871 h_lxybs_[0][2] = iBooker.
book1D(histname +
"Endcap",
"vertex #chi^{2} endcap", 200, -100., 100.);
872 h_lxybs_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"vertex #chi^{2} all", 200, -100., 100.);
873 h_lxybs_[1][1] = iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 200, -100., 100.);
874 h_lxybs_[1][2] = iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 200, -100., 100.);
875 h_lxybs_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"vertex #chi^{2} all", 200, -100., 100.);
876 h_lxybs_[2][1] = iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 200, -100., 100.);
877 h_lxybs_[2][2] = iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 200, -100., 100.);
879 histname =
"maxNHitsBeforeVtx";
890 histname =
"leadNHitsBeforeVtx";
901 histname =
"trailNHitsBeforeVtx";
912 histname =
"sumNHitsBeforeVtx";
923 histname =
"maxDlClosestHitToVtx";
934 histname =
"maxDlClosestHitToVtxSig";
943 iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 100, -8., 8.);
945 iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 100, -8., 8.);
947 histname =
"deltaExpectedHitsInner";
953 iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
955 iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
958 iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 31, -15.5, 15.5);
960 iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 31, -15.5, 15.5);
962 histname =
"leadExpectedHitsInner";
971 iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
973 iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
975 histname =
"nSharedHits";
977 h_nSharedHits_[0][1] = iBooker.
book1D(histname +
"Barrel",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
978 h_nSharedHits_[0][2] = iBooker.
book1D(histname +
"Endcap",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
979 h_nSharedHits_[1][0] = iBooker.
book1D(histname +
"All_Ass",
"vertex #chi^{2} all", 16, -0.5, 15.5);
980 h_nSharedHits_[1][1] = iBooker.
book1D(histname +
"Barrel_Ass",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
981 h_nSharedHits_[1][2] = iBooker.
book1D(histname +
"Endcap_Ass",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
982 h_nSharedHits_[2][0] = iBooker.
book1D(histname +
"All_Fakes",
"vertex #chi^{2} all", 16, -0.5, 15.5);
983 h_nSharedHits_[2][1] = iBooker.
book1D(histname +
"Barrel_Fakes",
"vertex #chi^{2} barrel", 16, -0.5, 15.5);
984 h_nSharedHits_[2][2] = iBooker.
book1D(histname +
"Endcap_Fakes",
"vertex #chi^{2} endcap", 16, -0.5, 15.5);
989 "Photons:Tracks from conversions: # of hits all tracks",
997 "Photons:Tracks from conversions: # of hits all tracks ass",
1004 nHits_[2] = iBooker.
book2D(histname +
"AllTracks_Fakes",
1005 "Photons:Tracks from conversions: # of hits all tracks fakes",
1013 histname =
"nHitsVsEta";
1015 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1023 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1031 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1038 histname =
"h_nHitsVsEta";
1040 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1049 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1058 "Photons:Tracks from conversions: # of hits vs #eta all tracks",
1067 histname =
"nHitsVsR";
1069 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1077 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1085 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1093 histname =
"h_nHitsVsR";
1095 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1104 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1113 "Photons:Tracks from conversions: # of hits vs radius all tracks",
1122 histname =
"tkChi2";
1124 histname +
"AllTracks",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100,
chi2Min,
chi2Max);
1126 histname +
"AllTracks_Ass",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100,
chi2Min,
chi2Max);
1128 histname +
"AllTracks_Fakes",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 100,
chi2Min,
chi2Max);
1130 histname =
"tkChi2Large";
1132 histname +
"AllTracks",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
1134 histname +
"AllTracks_Ass",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
1136 histname +
"AllTracks_Fakes",
"Photons:Tracks from conversions: #chi^{2} of all tracks", 1000, 0., 5000.0);
1138 histname =
"h2Chi2VsEta";
1145 histname =
"pChi2VsEta";
1151 " Reco Track #chi^{2} vs #eta : All ",
1160 histname =
"h2Chi2VsR";
1167 histname =
"pChi2VsR";
1176 h_TkD0_[0] = iBooker.
book1D(histname +
"All",
" Reco Track D0*q: All ", 200, -0.1, 60);
1177 h_TkD0_[1] = iBooker.
book1D(histname +
"All_Ass",
" Reco Track D0*q: Barrel ", 200, -0.1, 60);
1178 h_TkD0_[2] = iBooker.
book1D(histname +
"All_Fakes",
" Reco Track D0*q: Endcap ", 200, -0.1, 60);
1180 histname =
"hTkPtPull";
1181 h_TkPtPull_[0] = iBooker.
book1D(histname +
"All",
" Reco Track Pt pull: All ", 100, -20., 10.);
1182 histname =
"hTkPtPull";
1183 h_TkPtPull_[1] = iBooker.
book1D(histname +
"Barrel",
" Reco Track Pt pull: Barrel ", 100, -20., 10.);
1184 histname =
"hTkPtPull";
1185 h_TkPtPull_[2] = iBooker.
book1D(histname +
"Endcap",
" Reco Track Pt pull: Endcap ", 100, -20., 10.);
1187 histname =
"h2TkPtPullEta";
1190 histname =
"pTkPtPullEta";
1192 histname +
"All",
" Reco Track Pt pull: All ",
etaBin2,
etaMin,
etaMax, 100, -20., 10.,
" ");
1194 histname =
"PtRecVsPtSim";
1202 histname =
"photonPtRecVsPtSim";
1206 histname =
"nHitsBeforeVtx";
1211 histname =
"dlClosestHitToVtx";
1216 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, 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, tkConvValidator_cfi::maxPhoEtaForEffic, tkConvValidator_cfi::maxPhoEtaForPurity, tkConvValidator_cfi::maxPhoRForEffic, tkConvValidator_cfi::maxPhoRForPurity, tkConvValidator_cfi::maxPhoZForEffic, tkConvValidator_cfi::maxPhoZForPurity, tkConvValidator_cfi::minPhoPtForEffic, tkConvValidator_cfi::minPhoPtForPurity, 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 2244 of file TkConvValidator.cc.
2251 sqrt(
vtx.position().perp2()) + 0.001
f,
2252 -fabs(
vtx.position().z()),
2253 fabs(
vtx.position().z()));
2265 stateAtVtx = propag.propagate(myTSOS, *theBarrel_);
2267 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().
◆ arbitratedEcalSeeded_
bool TkConvValidator::arbitratedEcalSeeded_ |
|
private |
◆ arbitratedMerged_
bool TkConvValidator::arbitratedMerged_ |
|
private |
◆ bcEtLow_
double TkConvValidator::bcEtLow_ |
|
private |
◆ beamspotToken_
◆ 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 |
◆ 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_
◆ 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.
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
static HepMC::IO_HEPEVT conv
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_
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 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
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]
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_
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
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_