|
|
#include <BPHWriteSpecificDecay.h>
|
void | beginJob () override |
|
| BPHWriteSpecificDecay (const edm::ParameterSet &ps) |
|
void | endJob () override |
|
virtual void | fill (edm::Event &ev, const edm::EventSetup &es) |
|
void | produce (edm::Event &ev, const edm::EventSetup &es) override |
|
| ~BPHWriteSpecificDecay () override |
|
| EDProducer ()=default |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () 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 |
|
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 edm::Ref< pat::CompositeCandidateCollection > | compcc_ref |
|
enum | parType {
ptMin,
etaMax,
mPsiMin,
mPsiMax,
mKx0Min,
mKx0Max,
mPhiMin,
mPhiMax,
mK0sMin,
mK0sMax,
mLambda0Min,
mLambda0Max,
massMin,
massMax,
probMin,
mFitMin,
mFitMax,
constrMass,
constrSigma,
constrMJPsi,
writeCandidate
} |
|
enum | recoType {
Onia,
Pmm,
Psi1,
Psi2,
Ups,
Ups1,
Ups2,
Ups3,
Kx0,
Pkk,
Bu,
Bd,
Bs,
K0s,
Lambda0,
B0,
Lambdab,
Bc,
X3872
} |
|
typedef edm::Ref< std::vector< reco::Vertex > > | vertex_ref |
|
|
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 |
|
void | consume (BPHTokenWrapper< Obj > &tw, const edm::InputTag &tag) |
|
void | consume (BPHTokenWrapper< Obj > &tw, const std::string &label) |
|
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> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
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) |
|
Definition at line 34 of file BPHWriteSpecificDecay.h.
◆ compcc_ref
◆ vertex_ref
◆ parType
Enumerator |
---|
ptMin | |
etaMax | |
mPsiMin | |
mPsiMax | |
mKx0Min | |
mKx0Max | |
mPhiMin | |
mPhiMax | |
mK0sMin | |
mK0sMax | |
mLambda0Min | |
mLambda0Max | |
massMin | |
massMax | |
probMin | |
mFitMin | |
mFitMax | |
constrMass | |
constrSigma | |
constrMJPsi | |
writeCandidate | |
Definition at line 115 of file BPHWriteSpecificDecay.h.
◆ recoType
Enumerator |
---|
Onia | |
Pmm | |
Psi1 | |
Psi2 | |
Ups | |
Ups1 | |
Ups2 | |
Ups3 | |
Kx0 | |
Pkk | |
Bu | |
Bd | |
Bs | |
K0s | |
Lambda0 | |
B0 | |
Lambdab | |
Bc | |
X3872 | |
Definition at line 94 of file BPHWriteSpecificDecay.h.
◆ BPHWriteSpecificDecay()
Definition at line 56 of file BPHWriteSpecificDecay.cc.
134 for (iSel = 0; iSel < nSel; ++iSel)
190 produces<pat::CompositeCandidateCollection>(
oniaName);
192 produces<pat::CompositeCandidateCollection>(
sdName);
194 produces<pat::CompositeCandidateCollection>(
ssName);
196 produces<pat::CompositeCandidateCollection>(
buName);
198 produces<pat::CompositeCandidateCollection>(
bdName);
200 produces<pat::CompositeCandidateCollection>(
bsName);
202 produces<pat::CompositeCandidateCollection>(
k0Name);
204 produces<pat::CompositeCandidateCollection>(
l0Name);
206 produces<pat::CompositeCandidateCollection>(
b0Name);
208 produces<pat::CompositeCandidateCollection>(
lbName);
210 produces<pat::CompositeCandidateCollection>(
bcName);
212 produces<pat::CompositeCandidateCollection>(
x3872Name);
References recoSelectForWrite_cfi::constrMass, recoSelectForWrite_cfi::constrMJPsi, recoSelectForWrite_cfi::constrSigma, ALCARECOTkAlBeamHalo_cff::etaMax, edm::ParameterSet::getParameter(), ZMuMuCategoriesSequences_cff::massMax, ZMuMuCategoriesSequences_cff::massMin, recoSelectForWrite_cfi::mK0sMax, recoSelectForWrite_cfi::mK0sMin, recoSelectForWrite_cfi::mKx0Max, recoSelectForWrite_cfi::mKx0Min, recoSelectForWrite_cfi::mLambda0Max, recoSelectForWrite_cfi::mLambda0Min, recoSelectForWrite_cfi::mPhiMax, recoSelectForWrite_cfi::mPhiMin, recoSelectForWrite_cfi::probMin, ptMin, recoSelectForWrite_cfi::recoSelect, SET_PAR, and trackingRecoMaterialAnalyzer_cfi::usePV.
◆ ~BPHWriteSpecificDecay()
BPHWriteSpecificDecay::~BPHWriteSpecificDecay |
( |
| ) |
|
|
override |
◆ beginJob()
void BPHWriteSpecificDecay::beginJob |
( |
void |
| ) |
|
|
overridevirtual |
◆ endJob()
void BPHWriteSpecificDecay::endJob |
( |
void |
| ) |
|
|
overridevirtual |
◆ fill()
Definition at line 303 of file BPHWriteSpecificDecay.cc.
332 int npv = pVertices->size();
340 nrc = pfCands->size();
350 nrc = pcCands->size();
357 nrc = gpCands->size();
392 vector<const reco::Candidate*> muDaugs;
393 set<const pat::Muon*> muonSet;
394 typedef multimap<const reco::Candidate*, const pat::CompositeCandidate*> mu_cc_map;
399 int n = ccCands->size();
403 set<const pat::Muon*>::const_iterator iter;
404 set<const pat::Muon*>::const_iterator iend;
406 for (
i = 0;
i <
n; ++
i) {
409 int m =
cc.numberOfDaughters();
410 for (
j = 0;
j <
m; ++
j) {
412 const pat::Muon* mp = dynamic_cast<const pat::Muon*>(
dp);
413 iter = muonSet.begin();
414 iend = muonSet.end();
415 bool add = (mp !=
nullptr) && (muonSet.find(mp) == iend);
416 while (
add && (iter != iend)) {
423 muCCMap.insert(pair<const reco::Candidate*, const pat::CompositeCandidate*>(
dp, &
cc));
426 iter = muonSet.begin();
427 iend = muonSet.end();
429 muDaugs.push_back(*iter++);
432 map<recoType, map<parType, double>>::const_iterator rIter =
parMap.begin();
433 map<recoType, map<parType, double>>::const_iterator rIend =
parMap.end();
447 if (onia !=
nullptr) {
448 while (rIter != rIend) {
449 const map<recoType, map<parType, double>>
::value_type& rEntry = *rIter++;
451 const map<parType, double>&
pMap = rEntry.second;
478 map<parType, double>::const_iterator pIter =
pMap.begin();
479 map<parType, double>::const_iterator pIend =
pMap.end();
480 while (pIter != pIend) {
483 double pv = pEntry.second;
517 int nFull =
lFull.size();
518 map<const BPHRecoCandidate*, const reco::Vertex*> oniaVtxMap;
520 typedef mu_cc_map::const_iterator mu_cc_iter;
521 for (iFull = 0; iFull < nFull; ++iFull) {
525 const std::vector<const reco::Candidate*>& daugs = ptr->
daughters();
529 pair<mu_cc_iter, mu_cc_iter> cc0 = muCCMap.equal_range(ptr->
originalReco(daugs[0]));
530 pair<mu_cc_iter, mu_cc_iter> cc1 = muCCMap.equal_range(ptr->
originalReco(daugs[1]));
531 mu_cc_iter iter0 = cc0.first;
532 mu_cc_iter iend0 = cc0.second;
533 mu_cc_iter iter1 = cc1.first;
534 mu_cc_iter iend1 = cc1.second;
535 while ((iter0 != iend0) && (pVtx ==
nullptr)) {
537 while (iter1 != iend1) {
538 if (ccp != iter1++->
second)
543 float dMin = 999999.;
545 for (ipv = 0; ipv < npv; ++ipv) {
548 float dist =
pow(pPos.x() - tPos.x(), 2) +
pow(pPos.y() - tPos.y(), 2) +
pow(pPos.z() - tPos.z(), 2);
562 if (pVtx ==
nullptr) {
572 float minDz = 999999.;
573 float extrapZ = (state ? ttmd.
points().first.z() : -9e20);
575 for (ipv = 0; ipv < npv; ++ipv) {
577 float deltaZ = fabs(extrapZ - tVtx.
position().z());
578 if (deltaZ <
minDz) {
586 oniaVtxMap[ptr] = pVtx;
596 int nJPsi =
lJPsi.size();
606 int nj =
lJPsi.size();
607 int no =
lFull.size();
608 for (ij = 0; ij < nj; ++ij) {
610 for (io = 0; io < no; ++io) {
634 if (rIter != rIend) {
635 const map<parType, double>&
pMap = rIter->second;
636 map<parType, double>::const_iterator pIter =
pMap.begin();
637 map<parType, double>::const_iterator pIend =
pMap.end();
638 while (pIter != pIend) {
641 double pv = pEntry.second;
687 vector<BPHPlusMinusConstCandPtr> lKx0;
701 if (kx0 !=
nullptr) {
703 if (rIter != rIend) {
704 const map<parType, double>&
pMap = rIter->second;
705 map<parType, double>::const_iterator pIter =
pMap.begin();
706 map<parType, double>::const_iterator pIend =
pMap.end();
707 while (pIter != pIend) {
710 double pv = pEntry.second;
739 int nKx0 = lKx0.size();
746 if (rIter != rIend) {
747 const map<parType, double>&
pMap = rIter->second;
748 map<parType, double>::const_iterator pIter =
pMap.begin();
749 map<parType, double>::const_iterator pIend =
pMap.end();
750 while (pIter != pIend) {
753 double pv = pEntry.second;
797 set<BPHRecoConstCandPtr> sKx0;
799 int nBd =
lBd.size();
800 for (iBd = 0; iBd < nBd; ++iBd)
801 sKx0.insert(
lBd[iBd]->getComp(
"Kx0"));
802 set<BPHRecoConstCandPtr>::const_iterator iter = sKx0.begin();
803 set<BPHRecoConstCandPtr>::const_iterator iend = sKx0.end();
805 lSd.push_back(*iter++);
810 vector<BPHPlusMinusConstCandPtr> lPhi;
824 if (
phi !=
nullptr) {
826 if (rIter != rIend) {
827 const map<parType, double>&
pMap = rIter->second;
828 map<parType, double>::const_iterator pIter =
pMap.begin();
829 map<parType, double>::const_iterator pIend =
pMap.end();
830 while (pIter != pIend) {
833 double pv = pEntry.second;
862 int nPhi = lPhi.size();
869 if (rIter != rIend) {
870 const map<parType, double>&
pMap = rIter->second;
871 map<parType, double>::const_iterator pIter =
pMap.begin();
872 map<parType, double>::const_iterator pIend =
pMap.end();
873 while (pIter != pIend) {
876 double pv = pEntry.second;
879 bs->setJPsiMassMin(
pv);
882 bs->setJPsiMassMax(
pv);
885 bs->setPhiMassMin(
pv);
888 bs->setPhiMassMax(
pv);
900 bs->setMassFitMin(
pv);
903 bs->setMassFitMax(
pv);
906 bs->setConstr(
pv > 0);
920 set<BPHRecoConstCandPtr> sPhi;
922 int nBs =
lBs.size();
923 for (iBs = 0; iBs < nBs; ++iBs)
924 sPhi.insert(
lBs[iBs]->getComp(
"Phi"));
925 set<BPHRecoConstCandPtr>::const_iterator iter = sPhi.begin();
926 set<BPHRecoConstCandPtr>::const_iterator iend = sPhi.end();
928 lSs.push_back(*iter++);
940 if (k0s !=
nullptr) {
942 if (rIter != rIend) {
943 const map<parType, double>&
pMap = rIter->second;
944 map<parType, double>::const_iterator pIter =
pMap.begin();
945 map<parType, double>::const_iterator pIend =
pMap.end();
946 while (pIter != pIend) {
949 double pv = pEntry.second;
978 int nK0 =
lK0.size();
989 if (l0s !=
nullptr) {
991 if (rIter != rIend) {
992 const map<parType, double>&
pMap = rIter->second;
993 map<parType, double>::const_iterator pIter =
pMap.begin();
994 map<parType, double>::const_iterator pIend =
pMap.end();
995 while (pIter != pIend) {
998 double pv = pEntry.second;
1027 int nL0 =
lL0.size();
1034 if (rIter != rIend) {
1035 const map<parType, double>&
pMap = rIter->second;
1036 map<parType, double>::const_iterator pIter =
pMap.begin();
1037 map<parType, double>::const_iterator pIend =
pMap.end();
1038 while (pIter != pIend) {
1041 double pv = pEntry.second;
1044 b0->setJPsiMassMin(
pv);
1047 b0->setJPsiMassMax(
pv);
1050 b0->setK0MassMin(
pv);
1053 b0->setK0MassMax(
pv);
1065 b0->setMassFitMin(
pv);
1068 b0->setMassFitMax(
pv);
1071 b0->setConstr(
pv > 0);
1083 const map<const BPHRecoCandidate*, const BPHRecoCandidate*>& b0Map =
b0->daughMap();
1084 daughMap.insert(b0Map.begin(), b0Map.end());
1093 if (rIter != rIend) {
1094 const map<parType, double>&
pMap = rIter->second;
1095 map<parType, double>::const_iterator pIter =
pMap.begin();
1096 map<parType, double>::const_iterator pIend =
pMap.end();
1097 while (pIter != pIend) {
1100 double pv = pEntry.second;
1142 const map<const BPHRecoCandidate*, const BPHRecoCandidate*>& ldMap = lb->
daughMap();
1143 daughMap.insert(ldMap.begin(), ldMap.end());
1159 if (bc !=
nullptr) {
1161 if (rIter != rIend) {
1162 const map<parType, double>&
pMap = rIter->second;
1163 map<parType, double>::const_iterator pIter =
pMap.begin();
1164 map<parType, double>::const_iterator pIend =
pMap.end();
1165 while (pIter != pIend) {
1168 double pv = pEntry.second;
1227 if (x3872 !=
nullptr) {
1229 if (rIter != rIend) {
1230 const map<parType, double>&
pMap = rIter->second;
1231 map<parType, double>::const_iterator pIter =
pMap.begin();
1232 map<parType, double>::const_iterator pIend =
pMap.end();
1233 while (pIter != pIend) {
1236 double pv = pEntry.second;
References PVValHelper::add(), b0, cms::cuda::bs, BPHDecayToResResBuilder::build(), BPHX3872ToJPsiPiPiBuilder::build(), BPHDecayToResFlyingBuilder::build(), BPHOniaToMuMuBuilder::build(), BPHDecayToResTrkBuilder::build(), BPHDecayToTkpTknSymChargeBuilder::build(), BPHDecayToV0Builder::build(), TwoTrackMinimumDistance::calculate(), edm::HandleBase::clear(), BPHPlusMinusCandidate::composite(), recoSelectForWrite_cfi::constrMass, recoSelectForWrite_cfi::constrMJPsi, recoSelectForWrite_cfi::constrSigma, BPHRecoBuilder::createCollection(), BPHDecayToResFlyingBuilder::daughMap(), BPHDecayMomentum::daughters(), Calorimetry_cff::dp, MillePedeFileConverter_cfg::e, ALCARECOTkAlBeamHalo_cff::etaMax, ev, edm::EventSetup::get(), get, BPHOniaToMuMuBuilder::getConstrMass(), BPHOniaToMuMuBuilder::getConstrSigma(), BPHDecayMomentum::getDaug(), BPHOniaToMuMuBuilder::getList(), mps_fire::i, dqmiolumiharvest::j, visualization-live-secondInstance_cfg::m, HLT_2018_cff::magneticField, ZMuMuCategoriesSequences_cff::massMax, ZMuMuCategoriesSequences_cff::massMin, pfMETCorrectionType0_cfi::minDz, recoSelectForWrite_cfi::mK0sMax, recoSelectForWrite_cfi::mK0sMin, recoSelectForWrite_cfi::mKx0Max, recoSelectForWrite_cfi::mKx0Min, recoSelectForWrite_cfi::mLambda0Max, recoSelectForWrite_cfi::mLambda0Min, recoSelectForWrite_cfi::mPhiMax, recoSelectForWrite_cfi::mPhiMin, dqmiodumpmetadata::n, HLT_2018_cff::nPhi, BPHDecayMomentum::originalReco(), BPHOniaToMuMuBuilder::Phi, TwoTrackMinimumDistance::points(), reco::Vertex::position(), funct::pow(), recoSelectForWrite_cfi::probMin, edm::Handle< T >::product(), BPHOniaToMuMuBuilder::Psi1, BPHOniaToMuMuBuilder::Psi2, ptMin, MetAnalyzer::pv(), BPHRecoBuilder::sameTrack(), edm::second(), BPHDecayConstrainedBuilder::setConstr(), BPHX3872ToJPsiPiPiBuilder::setConstr(), BPHOniaToMuMuBuilder::setConstr(), BPHKx0ToKPiBuilder::setEtaMax(), BPHOniaToMuMuBuilder::setEtaMax(), BPHDecayToV0Builder::setEtaMax(), BPHX3872ToJPsiPiPiBuilder::setJPsiMassMax(), BPHBdToJPsiKxBuilder::setJPsiMassMax(), BPHLbToJPsiL0Builder::setJPsiMassMax(), BPHBuToJPsiKBuilder::setJPsiMassMax(), BPHBcToJPsiPiBuilder::setJPsiMassMax(), BPHX3872ToJPsiPiPiBuilder::setJPsiMassMin(), BPHBdToJPsiKxBuilder::setJPsiMassMin(), BPHLbToJPsiL0Builder::setJPsiMassMin(), BPHBuToJPsiKBuilder::setJPsiMassMin(), BPHBcToJPsiPiBuilder::setJPsiMassMin(), BPHBuToJPsiKBuilder::setKEtaMax(), BPHBuToJPsiKBuilder::setKPtMin(), BPHBdToJPsiKxBuilder::setKxMassMax(), BPHBdToJPsiKxBuilder::setKxMassMin(), BPHLbToJPsiL0Builder::setLambda0MassMax(), BPHLbToJPsiL0Builder::setLambda0MassMin(), BPHDecayGenericBuilder::setMassFitMax(), BPHX3872ToJPsiPiPiBuilder::setMassFitMax(), BPHDecayGenericBuilder::setMassFitMin(), BPHX3872ToJPsiPiPiBuilder::setMassFitMin(), BPHDecayGenericBuilder::setMassMax(), BPHX3872ToJPsiPiPiBuilder::setMassMax(), BPHOniaToMuMuBuilder::setMassMax(), BPHDecayGenericBuilder::setMassMin(), BPHX3872ToJPsiPiPiBuilder::setMassMin(), BPHOniaToMuMuBuilder::setMassMin(), BPHX3872ToJPsiPiPiBuilder::setPiEtaMax(), BPHBcToJPsiPiBuilder::setPiEtaMax(), BPHX3872ToJPsiPiPiBuilder::setPiPtMin(), BPHBcToJPsiPiBuilder::setPiPtMin(), BPHDecayGenericBuilder::setProbMin(), BPHX3872ToJPsiPiPiBuilder::setProbMin(), BPHOniaToMuMuBuilder::setProbMin(), BPHKx0ToKPiBuilder::setPtMin(), BPHOniaToMuMuBuilder::setPtMin(), BPHDecayToV0Builder::setPtMin(), BPHOniaToMuMuBuilder::Ups, BPHOniaToMuMuBuilder::Ups1, BPHOniaToMuMuBuilder::Ups2, BPHOniaToMuMuBuilder::Ups3, pat::PATObject< ObjectType >::userData(), and BPHDecayVertex::vertex().
◆ fillDescriptions()
Definition at line 217 of file BPHWriteSpecificDecay.cc.
219 desc.
add<
string>(
"pVertexLabel",
"");
220 desc.
add<
string>(
"patMuonLabel",
"");
221 desc.
add<
string>(
"ccCandsLabel",
"");
222 desc.
add<
string>(
"pfCandsLabel",
"");
223 desc.
add<
string>(
"pcCandsLabel",
"");
224 desc.
add<
string>(
"gpCandsLabel",
"");
225 desc.
add<
string>(
"k0CandsLabel",
"");
226 desc.
add<
string>(
"l0CandsLabel",
"");
227 desc.
add<
string>(
"kSCandsLabel",
"");
228 desc.
add<
string>(
"lSCandsLabel",
"");
229 desc.
add<
string>(
"oniaName",
"oniaCand");
230 desc.
add<
string>(
"sdName",
"kx0Cand");
231 desc.
add<
string>(
"ssName",
"phiCand");
232 desc.
add<
string>(
"buName",
"buFitted");
233 desc.
add<
string>(
"bdName",
"bdFitted");
234 desc.
add<
string>(
"bsName",
"bsFitted");
235 desc.
add<
string>(
"k0Name",
"k0Fitted");
236 desc.
add<
string>(
"l0Name",
"l0Fitted");
237 desc.
add<
string>(
"b0Name",
"b0Fitted");
238 desc.
add<
string>(
"lbName",
"lbFitted");
239 desc.
add<
string>(
"bcName",
"bcFitted");
240 desc.
add<
string>(
"x3872Name",
"x3872Fitted");
241 desc.
add<
bool>(
"writeVertex",
true);
242 desc.
add<
bool>(
"writeMomentum",
true);
244 dpar.
add<
string>(
"name");
245 dpar.add<
double>(
"ptMin", -2.0e35);
246 dpar.add<
double>(
"etaMax", -2.0e35);
247 dpar.add<
double>(
"mJPsiMin", -2.0e35);
248 dpar.add<
double>(
"mJPsiMax", -2.0e35);
249 dpar.add<
double>(
"mKx0Min", -2.0e35);
250 dpar.add<
double>(
"mKx0Max", -2.0e35);
251 dpar.add<
double>(
"mPhiMin", -2.0e35);
252 dpar.add<
double>(
"mPhiMax", -2.0e35);
253 dpar.add<
double>(
"mK0sMin", -2.0e35);
254 dpar.add<
double>(
"mK0sMax", -2.0e35);
255 dpar.add<
double>(
"mLambda0Min", -2.0e35);
256 dpar.add<
double>(
"mLambda0Max", -2.0e35);
257 dpar.add<
double>(
"massMin", -2.0e35);
258 dpar.add<
double>(
"massMax", -2.0e35);
259 dpar.add<
double>(
"probMin", -2.0e35);
260 dpar.add<
double>(
"massFitMin", -2.0e35);
261 dpar.add<
double>(
"massFitMax", -2.0e35);
262 dpar.add<
double>(
"constrMass", -2.0e35);
263 dpar.add<
double>(
"constrSigma", -2.0e35);
264 dpar.add<
bool>(
"constrMJPsi",
true);
265 dpar.add<
bool>(
"writeCandidate",
true);
266 vector<edm::ParameterSet> rpar;
267 desc.
addVPSet(
"recoSelect", dpar, rpar);
268 descriptions.
add(
"bphWriteSpecificDecay", desc);
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), and edm::ParameterSetDescription::addVPSet().
◆ produce()
◆ setRecoParameters()
◆ write()
Definition at line 196 of file BPHWriteSpecificDecay.h.
202 std::map<const BPHRecoCandidate*, const BPHRecoCandidate*>::const_iterator dauIter;
203 std::map<const BPHRecoCandidate*, const BPHRecoCandidate*>::const_iterator dauIend =
daughMap.end();
204 std::map<const BPHRecoCandidate*, const BPHRecoCandidate*>::const_iterator jpoIter;
205 std::map<const BPHRecoCandidate*, const BPHRecoCandidate*>::const_iterator jpoIend =
jPsiOMap.end();
206 std::map<const BPHRecoCandidate*, vertex_ref>::const_iterator pvrIter;
207 std::map<const BPHRecoCandidate*, vertex_ref>::const_iterator pvrIend =
pvRefMap.end();
208 std::map<const BPHRecoCandidate*, compcc_ref>::const_iterator ccrIter;
209 std::map<const BPHRecoCandidate*, compcc_ref>::const_iterator ccrIend =
ccRefMap.end();
210 for (
i = 0;
i <
n; ++
i) {
212 ccList->push_back(ptr->composite());
214 if ((pvrIter =
pvRefMap.find(ptr.get())) != pvrIend)
215 cc.addUserData(
"primaryVertex", pvrIter->second);
216 const std::vector<std::string>& cNames = ptr->compNames();
218 int m = cNames.size();
222 if ((ccrIter =
ccRefMap.find(cptr)) == ccrIend) {
223 if ((dauIter =
daughMap.find(cptr)) != dauIend)
224 cptr = dauIter->second;
225 if ((jpoIter =
jPsiOMap.find(cptr)) != jpoIend)
226 cptr = jpoIter->second;
228 if ((ccrIter =
ccRefMap.find(cptr)) != ccrIend) {
230 if (cref.isNonnull())
231 cc.addUserData(
"refTo" + compName, cref);
235 if (pmp !=
nullptr) {
240 cc.addUserData(
"vertex", ptr->vertex());
244 cc.addUserData(
"fitVertex",
reco::Vertex(*ptr->topDecayVertex()));
245 if (ptr->isValidFit()) {
248 cc.addUserFloat(
"fitMass", kinStat.
mass());
253 typedef std::unique_ptr<pat::CompositeCandidateCollection> ccc_pointer;
255 for (
i = 0;
i <
n; ++
i) {
References ccRefMap, daughMap, ev, BPHDecayMomentum::getComp(), mps_fire::i, BPHPlusMinusCandidate::isCowboy(), edm::Ref< C, T, F >::isNonnull(), dqmiolumiharvest::j, jPsiOMap, KinematicState::kinematicParameters(), list(), visualization-live-secondInstance_cfg::m, KinematicState::mass(), KinematicParameters::momentum(), dqmiodumpmetadata::n, Skims_PA_cff::name, pvRefMap, AlCaHLTBitMon_QueryRunRegistry::string, writeMomentum, and writeVertex.
◆ b0Name
std::string BPHWriteSpecificDecay::b0Name |
|
private |
◆ bcName
std::string BPHWriteSpecificDecay::bcName |
|
private |
◆ bdName
std::string BPHWriteSpecificDecay::bdName |
|
private |
◆ bsName
std::string BPHWriteSpecificDecay::bsName |
|
private |
◆ buName
std::string BPHWriteSpecificDecay::buName |
|
private |
◆ ccCandsLabel
std::string BPHWriteSpecificDecay::ccCandsLabel |
|
private |
◆ ccCandsToken
◆ ccRefMap
◆ daughMap
◆ fMap
std::map<std::string, parType> BPHWriteSpecificDecay::fMap |
|
private |
◆ gpCandsLabel
std::string BPHWriteSpecificDecay::gpCandsLabel |
|
private |
◆ gpCandsToken
◆ jPsiOMap
◆ k0CandsLabel
std::string BPHWriteSpecificDecay::k0CandsLabel |
|
private |
◆ k0CandsToken
◆ k0Name
std::string BPHWriteSpecificDecay::k0Name |
|
private |
◆ kSCandsLabel
std::string BPHWriteSpecificDecay::kSCandsLabel |
|
private |
◆ kSCandsToken
◆ l0CandsLabel
std::string BPHWriteSpecificDecay::l0CandsLabel |
|
private |
◆ l0CandsToken
◆ l0Name
std::string BPHWriteSpecificDecay::l0Name |
|
private |
◆ lB0
◆ lBc
◆ lBd
◆ lbName
std::string BPHWriteSpecificDecay::lbName |
|
private |
◆ lBs
◆ lBu
◆ lFull
◆ lJPsi
◆ lK0
◆ lL0
◆ lLb
◆ lSCandsLabel
std::string BPHWriteSpecificDecay::lSCandsLabel |
|
private |
◆ lSCandsToken
◆ lSd
◆ lSs
◆ lX3872
◆ oniaName
std::string BPHWriteSpecificDecay::oniaName |
|
private |
◆ parMap
std::map<recoType, std::map<parType, double> > BPHWriteSpecificDecay::parMap |
|
private |
◆ patMuonLabel
std::string BPHWriteSpecificDecay::patMuonLabel |
|
private |
◆ patMuonToken
◆ pcCandsLabel
std::string BPHWriteSpecificDecay::pcCandsLabel |
|
private |
◆ pcCandsToken
◆ pfCandsLabel
std::string BPHWriteSpecificDecay::pfCandsLabel |
|
private |
◆ pfCandsToken
◆ pMap
std::map<std::string, parType> BPHWriteSpecificDecay::pMap |
|
private |
◆ pVertexLabel
std::string BPHWriteSpecificDecay::pVertexLabel |
|
private |
◆ pVertexToken
◆ pvRefMap
◆ recoB0
bool BPHWriteSpecificDecay::recoB0 |
|
private |
◆ recoBc
bool BPHWriteSpecificDecay::recoBc |
|
private |
◆ recoBd
bool BPHWriteSpecificDecay::recoBd |
|
private |
◆ recoBs
bool BPHWriteSpecificDecay::recoBs |
|
private |
◆ recoBu
bool BPHWriteSpecificDecay::recoBu |
|
private |
◆ recoK0s
bool BPHWriteSpecificDecay::recoK0s |
|
private |
◆ recoKx0
bool BPHWriteSpecificDecay::recoKx0 |
|
private |
◆ recoLambda0
bool BPHWriteSpecificDecay::recoLambda0 |
|
private |
◆ recoLambdab
bool BPHWriteSpecificDecay::recoLambdab |
|
private |
◆ recoOnia
bool BPHWriteSpecificDecay::recoOnia |
|
private |
◆ recoPkk
bool BPHWriteSpecificDecay::recoPkk |
|
private |
◆ recoX3872
bool BPHWriteSpecificDecay::recoX3872 |
|
private |
◆ rMap
std::map<std::string, recoType> BPHWriteSpecificDecay::rMap |
|
private |
◆ sdName
std::string BPHWriteSpecificDecay::sdName |
|
private |
◆ ssName
std::string BPHWriteSpecificDecay::ssName |
|
private |
◆ useCC
bool BPHWriteSpecificDecay::useCC |
|
private |
◆ useGP
bool BPHWriteSpecificDecay::useGP |
|
private |
◆ useK0
bool BPHWriteSpecificDecay::useK0 |
|
private |
◆ useKS
bool BPHWriteSpecificDecay::useKS |
|
private |
◆ useL0
bool BPHWriteSpecificDecay::useL0 |
|
private |
◆ useLS
bool BPHWriteSpecificDecay::useLS |
|
private |
◆ usePC
bool BPHWriteSpecificDecay::usePC |
|
private |
◆ usePF
bool BPHWriteSpecificDecay::usePF |
|
private |
◆ usePM
bool BPHWriteSpecificDecay::usePM |
|
private |
◆ usePV
bool BPHWriteSpecificDecay::usePV |
|
private |
◆ writeB0
bool BPHWriteSpecificDecay::writeB0 |
|
private |
◆ writeBc
bool BPHWriteSpecificDecay::writeBc |
|
private |
◆ writeBd
bool BPHWriteSpecificDecay::writeBd |
|
private |
◆ writeBs
bool BPHWriteSpecificDecay::writeBs |
|
private |
◆ writeBu
bool BPHWriteSpecificDecay::writeBu |
|
private |
◆ writeK0s
bool BPHWriteSpecificDecay::writeK0s |
|
private |
◆ writeKx0
bool BPHWriteSpecificDecay::writeKx0 |
|
private |
◆ writeLambda0
bool BPHWriteSpecificDecay::writeLambda0 |
|
private |
◆ writeLambdab
bool BPHWriteSpecificDecay::writeLambdab |
|
private |
◆ writeMomentum
bool BPHWriteSpecificDecay::writeMomentum |
|
private |
◆ writeOnia
bool BPHWriteSpecificDecay::writeOnia |
|
private |
◆ writePkk
bool BPHWriteSpecificDecay::writePkk |
|
private |
◆ writeVertex
bool BPHWriteSpecificDecay::writeVertex |
|
private |
◆ writeX3872
bool BPHWriteSpecificDecay::writeX3872 |
|
private |
◆ x3872Name
std::string BPHWriteSpecificDecay::x3872Name |
|
private |
void setJPsiMassMax(double m)
void setJPsiMassMin(double m)
double getConstrMass(oniaType type) const
std::vector< BPHRecoConstCandPtr > build()
build candidates
std::map< recoType, std::map< parType, double > > parMap
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void setJPsiMassMin(double m)
void setPiPtMin(double pt)
set cuts
T const * product() const
const T * userData(const std::string &key) const
Returns user-defined data. Returns NULL if the data is not present, or not of type T.
void setRecoParameters(const edm::ParameterSet &ps)
Analysis-level particle class.
std::vector< BPHRecoConstCandPtr > lLb
std::vector< BPHRecoConstCandPtr > build()
build candidates
void setJPsiMassMax(double m)
static bool sameTrack(const reco::Candidate *lCand, const reco::Candidate *rCand, double minPDifference)
void setMassMin(double m)
set cuts
void setPiEtaMax(double eta)
void setKxMassMax(double m)
std::vector< CompositeCandidate > CompositeCandidateCollection
GlobalVector momentum() const
void setConstr(bool flag)
U second(std::pair< T, U > const &p)
const pat::CompositeCandidate & composite() const override
get a composite by the simple sum of simple particles
const Point & position() const
position
std::vector< BPHPlusMinusConstCandPtr > lFull
void setPtMin(oniaType type, double pt)
set cuts
void setJPsiMassMax(double m)
bool get(const edm::Event &ev, edm::Handle< Obj > &obj)
edm::OrphanHandle< pat::CompositeCandidateCollection > write(edm::Event &ev, const std::vector< T > &list, const std::string &name)
static BPHGenericCollection * createCollection(const edm::Handle< T > &collection, const std::string &list="cfhpmig")
Analysis-level muon class.
double getConstrSigma(oniaType type) const
std::vector< BPHPlusMinusConstCandPtr > getList(oniaType type, BPHRecoSelect *dSel=nullptr, BPHMomentumSelect *mSel=nullptr, BPHVertexSelect *vSel=nullptr, BPHFitSelect *kSel=nullptr)
BPHTokenWrapper< std::vector< reco::VertexCompositeCandidate > > l0CandsToken
virtual const reco::Candidate * getDaug(const std::string &name) const
std::vector< BPHRecoConstCandPtr > build()
build X3872 candidates
virtual void fill(edm::Event &ev, const edm::EventSetup &es)
void setMassMax(oniaType type, double m)
void setMassFitMax(double m)
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
std::map< std::string, parType > pMap
virtual const reco::Vertex & vertex(VertexFitter< 5 > *fitter=nullptr, const reco::BeamSpot *bs=nullptr, const GlobalPoint *priorPos=nullptr, const GlobalError *priorError=nullptr) const
get reconstructed vertex
BPHTokenWrapper< std::vector< pat::GenericParticle > > gpCandsToken
void setKPtMin(double pt)
set cuts
BPHTokenWrapper< std::vector< reco::VertexCompositePtrCandidate > > kSCandsToken
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< BPHPlusMinusConstCandPtr > build()
build candidates
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > ccCandsToken
void setMassFitMin(double m)
BPHTokenWrapper< std::vector< reco::PFCandidate > > pfCandsToken
BPHTokenWrapper< pat::MuonCollection > patMuonToken
void setEtaMax(double eta)
std::map< std::string, parType > fMap
std::pair< GlobalPoint, GlobalPoint > points() const override
void setProbMin(double p)
void setPiPtMin(double pt)
set cuts
std::map< const BPHRecoCandidate *, vertex_ref > pvRefMap
BPHTokenWrapper< std::vector< reco::VertexCompositePtrCandidate > > lSCandsToken
ParameterDescriptionBase * addVPSet(U const &iLabel, ParameterSetDescription const &validator, std::vector< ParameterSet > const &defaults)
edm::Ref< pat::CompositeCandidateCollection > compcc_ref
std::vector< BPHPlusMinusConstCandPtr > lK0
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
void setJPsiMassMin(double m)
set cuts
std::vector< BPHRecoConstCandPtr > build()
build candidates
void setConstr(bool flag)
std::vector< BPHRecoConstCandPtr > lSs
BPHTokenWrapper< std::vector< reco::VertexCompositeCandidate > > k0CandsToken
void setMassMin(oniaType type, double m)
void setConstr(oniaType type, double mass, double sigma)
virtual BPHRecoConstCandPtr getComp(const std::string &name) const
void setLambda0MassMin(double m)
static constexpr float b0
std::map< const BPHRecoCandidate *, compcc_ref > ccRefMap
Container::value_type value_type
void setProbMin(oniaType type, double p)
void setJPsiMassMin(double m)
set cuts
std::map< const BPHRecoCandidate *, const BPHRecoCandidate * > daughMap
BPHTokenWrapper< std::vector< reco::Vertex > > pVertexToken
ParticleMass mass() const
std::vector< BPHRecoConstCandPtr > lB0
void setMassFitMax(double m)
std::vector< BPHRecoConstCandPtr > lBc
T getParameter(std::string const &) const
void setMassMin(double m)
#define SET_PAR(TYPE, NAME, PSET)
void setKxMassMin(double m)
void setJPsiMassMin(double m)
set cuts
math::XYZPoint Point
point in the space
BPHTokenWrapper< std::vector< BPHTrackReference::candidate > > pcCandsToken
void setMassMax(double m)
virtual const reco::Candidate * originalReco(const reco::Candidate *daug) const
get the original particle from the clone
std::vector< BPHPlusMinusConstCandPtr > lJPsi
std::vector< BPHPlusMinusConstCandPtr > lL0
std::vector< BPHRecoConstCandPtr > lSd
std::vector< BPHPlusMinusConstCandPtr > build()
build resonance candidates
bool isCowboy() const
get cowboy/sailor classification
void setEtaMax(double eta)
const std::map< const BPHRecoCandidate *, const BPHRecoCandidate * > & daughMap() const
get original daughters map
std::map< const BPHRecoCandidate *, const BPHRecoCandidate * > jPsiOMap
void setEtaMax(oniaType type, double eta)
void setProbMin(double p)
void setMassFitMin(double m)
void setPiEtaMax(double eta)
void setLambda0MassMax(double m)
void setJPsiMassMax(double m)
std::map< std::string, recoType > rMap
Power< A, B >::type pow(const A &a, const B &b)
edm::Ref< std::vector< reco::Vertex > > vertex_ref
virtual const std::vector< const reco::Candidate * > & daughters() const
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*", "!HLTx*" if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL. It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of "!*" before the partial wildcard feature was incorporated). Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
std::vector< BPHRecoConstCandPtr > lX3872
std::vector< BPHRecoConstCandPtr > lBu
KinematicParameters const & kinematicParameters() const
void setKEtaMax(double eta)
std::vector< BPHPlusMinusConstCandPtr > build()
build candidates
void setJPsiMassMax(double m)
void setPtMin(double pt)
set cuts
std::vector< BPHRecoConstCandPtr > lBd
void setMassMax(double m)
std::vector< BPHRecoConstCandPtr > lBs