|
|
#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 |
|
| EDProducer (const EDProducer &)=delete |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndProcessBlocks () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
const EDProducer & | operator= (const EDProducer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
std::vector< bool > const & | recordProvenanceList () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
void | selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef 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 = 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) |
|
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(), recoSelectForWrite_cfi::massMax, recoSelectForWrite_cfi::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) {
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;
756 bd->setJPsiMassMin(
pv);
759 bd->setJPsiMassMax(
pv);
762 bd->setKxMassMin(
pv);
765 bd->setKxMassMax(
pv);
777 bd->setMassFitMin(
pv);
780 bd->setMassFitMax(
pv);
783 bd->setConstr(
pv > 0);
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, 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(), L1TkHTMissProducer_cfi::deltaZ, 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_FULL_cff::magneticField, recoSelectForWrite_cfi::massMax, recoSelectForWrite_cfi::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_FULL_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(), BPHLbToJPsiL0Builder::setJPsiMassMax(), BPHBuToJPsiKBuilder::setJPsiMassMax(), BPHBcToJPsiPiBuilder::setJPsiMassMax(), BPHX3872ToJPsiPiPiBuilder::setJPsiMassMin(), BPHLbToJPsiL0Builder::setJPsiMassMin(), BPHBuToJPsiKBuilder::setJPsiMassMin(), BPHBcToJPsiPiBuilder::setJPsiMassMin(), BPHBuToJPsiKBuilder::setKEtaMax(), BPHBuToJPsiKBuilder::setKPtMin(), 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 submitPVResolutionJobs::desc.
◆ 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) {
211 const T& ptr = list[
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(), 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::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)
deep_tau::DeepTauBase::BasicDiscriminator bd
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)
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
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
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)
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
void setMassMin(double m)
#define SET_PAR(TYPE, NAME, PSET)
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
Log< level::Info, true > LogVerbatim
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)
T getParameter(std::string const &) const
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
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