CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
BPHHistoSpecificDecay Class Reference

#include <BPHHistoSpecificDecay.h>

Inheritance diagram for BPHHistoSpecificDecay:
BPHAnalyzerWrapper< BPHModuleWrapper::one_analyzer > edm::one::EDAnalyzer< T > edm::one::EDAnalyzerBase edm::EDConsumerBase

Classes

class  CandidateSelect
 

Public Member Functions

void analyze (const edm::Event &ev, const edm::EventSetup &es) override
 
void beginJob () override
 
 BPHHistoSpecificDecay (const edm::ParameterSet &ps)
 
void endJob () override
 
 ~BPHHistoSpecificDecay () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< T >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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 const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void createHisto (const std::string &name, int nbin, float hmin, float hmax)
 
void fillHisto (const std::string &name, const pat::CompositeCandidate &cand, char svType)
 
void fillHisto (const std::string &name, float x)
 

Private Attributes

std::string b0CandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > b0CandsToken
 
CandidateSelectb0DBasicSelect
 
CandidateSelectb0DJPsiBasicSelect
 
CandidateSelectb0DJPsiDaughterSelect
 
CandidateSelectb0DK0sBasicSelect
 
CandidateSelectb0DVertexSelect
 
CandidateSelectb0IBasicSelect
 
CandidateSelectb0IJPsiBasicSelect
 
CandidateSelectb0IJPsiDaughterSelect
 
CandidateSelectb0IK0sBasicSelect
 
CandidateSelectb0IVertexSelect
 
TBranch * b_eventNumber
 
TBranch * b_lumiSection
 
TBranch * b_recoErrT
 
TBranch * b_recoMass
 
TBranch * b_recoName
 
TBranch * b_recoTime
 
TBranch * b_runNumber
 
std::string bcCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bcCandsToken
 
CandidateSelectbcDBasicSelect
 
CandidateSelectbcDJPsiBasicSelect
 
CandidateSelectbcDJPsiDaughterSelect
 
CandidateSelectbcDJPsiVertexSelect
 
double bcDPiPtMin
 
CandidateSelectbcDVertexSelect
 
CandidateSelectbcIBasicSelect
 
CandidateSelectbcIJPsiBasicSelect
 
CandidateSelectbcIJPsiDaughterSelect
 
CandidateSelectbcIJPsiVertexSelect
 
double bcIPiPtMin
 
CandidateSelectbcIVertexSelect
 
double bcJPsiDcaMax
 
std::string bdCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bdCandsToken
 
CandidateSelectbdDBasicSelect
 
CandidateSelectbdDJPsiBasicSelect
 
CandidateSelectbdDJPsiDaughterSelect
 
CandidateSelectbdDKx0BasicSelect
 
CandidateSelectbdDVertexSelect
 
CandidateSelectbdIBasicSelect
 
CandidateSelectbdIJPsiBasicSelect
 
CandidateSelectbdIJPsiDaughterSelect
 
CandidateSelectbdIKx0BasicSelect
 
CandidateSelectbdIVertexSelect
 
std::string bsCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bsCandsToken
 
CandidateSelectbsDBasicSelect
 
CandidateSelectbsDJPsiBasicSelect
 
CandidateSelectbsDJPsiDaughterSelect
 
CandidateSelectbsDPhiBasicSelect
 
CandidateSelectbsDVertexSelect
 
CandidateSelectbsIBasicSelect
 
CandidateSelectbsIJPsiBasicSelect
 
CandidateSelectbsIJPsiDaughterSelect
 
CandidateSelectbsIPhiBasicSelect
 
CandidateSelectbsIVertexSelect
 
std::string buCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > buCandsToken
 
CandidateSelectbuDBasicSelect
 
CandidateSelectbuDJPsiBasicSelect
 
CandidateSelectbuDJPsiDaughterSelect
 
double buDKPtMin
 
CandidateSelectbuDVertexSelect
 
CandidateSelectbuIBasicSelect
 
CandidateSelectbuIJPsiBasicSelect
 
CandidateSelectbuIJPsiDaughterSelect
 
double buIKPtMin
 
CandidateSelectbuIVertexSelect
 
unsigned int eventNumber
 
edm::Service< TFileServicefs
 
std::map< std::string, TH1F * > histoMap
 
CandidateSelectjPsiBBasicSelect
 
CandidateSelectjPsiIBasicSelect
 
std::string k0CandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > k0CandsToken
 
std::string l0CandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > l0CandsToken
 
std::string lbCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > lbCandsToken
 
CandidateSelectlbDBasicSelect
 
CandidateSelectlbDJPsiBasicSelect
 
CandidateSelectlbDJPsiDaughterSelect
 
CandidateSelectlbDLambda0BasicSelect
 
CandidateSelectlbDVertexSelect
 
CandidateSelectlbIBasicSelect
 
CandidateSelectlbIJPsiBasicSelect
 
CandidateSelectlbIJPsiDaughterSelect
 
CandidateSelectlbILambda0BasicSelect
 
CandidateSelectlbIVertexSelect
 
unsigned int lumiSection
 
CandidateSelectnpJPsiBasicSelect
 
CandidateSelectnpJPsiDaughterSelect
 
std::string oniaCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > oniaCandsToken
 
CandidateSelectoniaDaughterSelect
 
CandidateSelectoniaVertexSelect
 
CandidateSelectphiBBasicSelect
 
CandidateSelectphiIBasicSelect
 
CandidateSelectpsi2BBasicSelect
 
CandidateSelectpsi2IBasicSelect
 
float recoErrT
 
float recoMass
 
std::string * recoName
 
float recoTime
 
unsigned int runNumber
 
std::string sdCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > sdCandsToken
 
std::string ssCandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > ssCandsToken
 
TTree * tree
 
std::string trigResultsLabel
 
BPHTokenWrapper< edm::TriggerResultstrigResultsToken
 
CandidateSelectupsBBasicSelect
 
CandidateSelectupsIBasicSelect
 
bool useB0
 
bool useBc
 
bool useBd
 
bool useBs
 
bool useBu
 
bool useK0
 
bool useL0
 
bool useLb
 
bool useOnia
 
bool useSd
 
bool useSs
 
bool useTrig
 
bool useX3872
 
std::string x3872CandsLabel
 
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > x3872CandsToken
 
CandidateSelectx3872DBasicSelect
 
CandidateSelectx3872DJPsiBasicSelect
 
CandidateSelectx3872DJPsiDaughterSelect
 
CandidateSelectx3872DJPsiVertexSelect
 
double x3872DPiPtMin
 
CandidateSelectx3872DVertexSelect
 
CandidateSelectx3872IBasicSelect
 
CandidateSelectx3872IJPsiBasicSelect
 
CandidateSelectx3872IJPsiDaughterSelect
 
CandidateSelectx3872IJPsiVertexSelect
 
double x3872IPiPtMin
 
CandidateSelectx3872IVertexSelect
 
double x3872JPsiDcaMax
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from BPHAnalyzerWrapper< BPHModuleWrapper::one_analyzer >
void consume (BPHTokenWrapper< Obj > &tw, const std::string &label)
 
void consume (BPHTokenWrapper< Obj > &tw, const edm::InputTag &tag)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, 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)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 26 of file BPHHistoSpecificDecay.h.

Constructor & Destructor Documentation

◆ BPHHistoSpecificDecay()

BPHHistoSpecificDecay::BPHHistoSpecificDecay ( const edm::ParameterSet ps)
explicit

Definition at line 383 of file BPHHistoSpecificDecay.cc.

References BPHParticleMasses::jPsiMass, BPHParticleMasses::k0sMass, BPHParticleMasses::kx0Mass, BPHParticleMasses::lambda0Mass, BPHParticleMasses::phiMass, and SET_LABEL.

383  {
384  useTrig = (!SET_LABEL(trigResultsLabel, ps).empty());
385  useOnia = (!SET_LABEL(oniaCandsLabel, ps).empty());
386  useSd = (!SET_LABEL(sdCandsLabel, ps).empty());
387  useSs = (!SET_LABEL(ssCandsLabel, ps).empty());
388  useBu = (!SET_LABEL(buCandsLabel, ps).empty());
389  useBd = (!SET_LABEL(bdCandsLabel, ps).empty());
390  useBs = (!SET_LABEL(bsCandsLabel, ps).empty());
391  useK0 = (!SET_LABEL(k0CandsLabel, ps).empty());
392  useL0 = (!SET_LABEL(l0CandsLabel, ps).empty());
393  useB0 = (!SET_LABEL(b0CandsLabel, ps).empty());
394  useLb = (!SET_LABEL(lbCandsLabel, ps).empty());
395  useBc = (!SET_LABEL(bcCandsLabel, ps).empty());
396  useX3872 = (!SET_LABEL(x3872CandsLabel, ps).empty());
397  if (useTrig)
398  consume<edm::TriggerResults>(trigResultsToken, trigResultsLabel);
399  if (useOnia)
400  consume<vector<pat::CompositeCandidate>>(oniaCandsToken, oniaCandsLabel);
401  if (useSd)
402  consume<vector<pat::CompositeCandidate>>(sdCandsToken, sdCandsLabel);
403  if (useSs)
404  consume<vector<pat::CompositeCandidate>>(ssCandsToken, ssCandsLabel);
405  if (useBu)
406  consume<vector<pat::CompositeCandidate>>(buCandsToken, buCandsLabel);
407  if (useBd)
408  consume<vector<pat::CompositeCandidate>>(bdCandsToken, bdCandsLabel);
409  if (useBs)
410  consume<vector<pat::CompositeCandidate>>(bsCandsToken, bsCandsLabel);
411  if (useK0)
412  consume<vector<pat::CompositeCandidate>>(k0CandsToken, k0CandsLabel);
413  if (useL0)
414  consume<vector<pat::CompositeCandidate>>(l0CandsToken, l0CandsLabel);
415  if (useB0)
416  consume<vector<pat::CompositeCandidate>>(b0CandsToken, b0CandsLabel);
417  if (useLb)
418  consume<vector<pat::CompositeCandidate>>(lbCandsToken, lbCandsLabel);
419  if (useBc)
420  consume<vector<pat::CompositeCandidate>>(bcCandsToken, bcCandsLabel);
421  if (useX3872)
422  consume<vector<pat::CompositeCandidate>>(x3872CandsToken, x3872CandsLabel);
423 
424  static const BPHSoftMuonSelect* sms = new BPHSoftMuonSelect;
425 
427 
428  double phiIMassMin = 0.85;
429  double phiIMassMax = 1.20;
430  double phiIPtMin = 18.0;
431  double phiIEtaMax = -1.0;
432  double phiIYMax = -1.0;
433  double phiBMassMin = 0.85;
434  double phiBMassMax = 1.20;
435  double phiBPtMin = 14.0;
436  double phiBEtaMax = -1.0;
437  double phiBYMax = 1.25;
438  double jPsiIMassMin = 2.80;
439  double jPsiIMassMax = 3.40;
440  double jPsiIPtMin = 25.0;
441  double jPsiIEtaMax = -1.0;
442  double jPsiIYMax = -1.0;
443  double jPsiBMassMin = 2.80;
444  double jPsiBMassMax = 3.40;
445  double jPsiBPtMin = 20.0;
446  double jPsiBEtaMax = -1.0;
447  double jPsiBYMax = 1.25;
448  double psi2IMassMin = 3.40;
449  double psi2IMassMax = 4.00;
450  double psi2IPtMin = 18.0;
451  double psi2IEtaMax = -1.0;
452  double psi2IYMax = -1.0;
453  double psi2BMassMin = 3.40;
454  double psi2BMassMax = 4.00;
455  double psi2BPtMin = 10.0;
456  double psi2BEtaMax = -1.0;
457  double psi2BYMax = 1.25;
458  double upsIMassMin = 8.50;
459  double upsIMassMax = 11.0;
460  double upsIPtMin = 15.0;
461  double upsIEtaMax = -1.0;
462  double upsIYMax = -1.0;
463  double upsBMassMin = 8.50;
464  double upsBMassMax = 11.0;
465  double upsBPtMin = 12.0;
466  // double upsBEtaMax = 1.5; // 2017
467  // double upsBYMax = -1.0; // 2017
468  double upsBEtaMax = -1.0; // 2018
469  double upsBYMax = 1.4; // 2018
470 
471  double oniaProbMin = 0.005;
472  double oniaCosMin = -2.0;
473  double oniaSigMin = -1.0;
474 
475  double oniaMuPtMinLoose = 2.0;
476  double oniaMuPtMinTight = -1.0;
477  double oniaMuEtaMaxLoose = -1.0;
478  double oniaMuEtaMaxTight = -1.0;
479 
480  phiIBasicSelect = new BPHCompositeBasicSelect(phiIMassMin, phiIMassMax, phiIPtMin, phiIEtaMax, phiIYMax);
481  phiBBasicSelect = new BPHCompositeBasicSelect(phiBMassMin, phiBMassMax, phiBPtMin, phiBEtaMax, phiBYMax);
482  jPsiIBasicSelect = new BPHCompositeBasicSelect(jPsiIMassMin, jPsiIMassMax, jPsiIPtMin, jPsiIEtaMax, jPsiIYMax);
483  jPsiBBasicSelect = new BPHCompositeBasicSelect(jPsiBMassMin, jPsiBMassMax, jPsiBPtMin, jPsiBEtaMax, jPsiBYMax);
484  psi2IBasicSelect = new BPHCompositeBasicSelect(psi2IMassMin, psi2IMassMax, psi2IPtMin, psi2IEtaMax, psi2IYMax);
485  psi2BBasicSelect = new BPHCompositeBasicSelect(psi2BMassMin, psi2BMassMax, psi2BPtMin, psi2BEtaMax, psi2BYMax);
486  upsIBasicSelect = new BPHCompositeBasicSelect(upsIMassMin, upsIMassMax, upsIPtMin, upsIEtaMax, upsIYMax);
487  upsBBasicSelect = new BPHCompositeBasicSelect(upsBMassMin, upsBMassMax, upsBPtMin, upsBEtaMax, upsBYMax);
488  // oniaVertexSelect = new BPHCompositeVertexSelect(
489  oniaVertexSelect = new BPHGenericVertexSelect('c', oniaProbMin, oniaCosMin, oniaSigMin);
491  new BPHDaughterSelect(oniaMuPtMinLoose, oniaMuPtMinTight, oniaMuEtaMaxLoose, oniaMuEtaMaxTight, sms);
492 
493  double npJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
494  double npJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
495  double npJPsiPtMin = 8.0;
496  double npJPsiEtaMax = -1.0;
497  double npJPsiYMax = -1.0;
498  double npMuPtMinLoose = 4.0;
499  double npMuPtMinTight = -1.0;
500  double npMuEtaMaxLoose = 2.2;
501  double npMuEtaMaxTight = -1.0;
502 
503  npJPsiBasicSelect = new BPHCompositeBasicSelect(npJPsiMassMin, npJPsiMassMax, npJPsiPtMin, npJPsiEtaMax, npJPsiYMax);
504  npJPsiDaughterSelect = new BPHDaughterSelect(npMuPtMinLoose, npMuPtMinTight, npMuEtaMaxLoose, npMuEtaMaxTight, sms);
505 
507 
508  double buIMassMin = 0.0;
509  double buIMassMax = 999999.0;
510  double buIPtMin = 27.0;
511  double buIEtaMax = -1.0;
512  double buIYMax = -1.0;
513  double buIJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
514  double buIJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
515  double buIJPsiPtMin = 25.0;
516  double buIJPsiEtaMax = -1.0;
517  double buIJPsiYMax = -1.0;
518  double buIProbMin = 0.15;
519  double buICosMin = -2.0;
520  double buISigMin = -1.0;
521  // double buIMuPtMinLoose = -1.0;
522  // double buIMuPtMinTight = -1.0;
523  // double buIMuEtaMaxLoose = -1.0;
524  // double buIMuEtaMaxTight = -1.0;
525 
526  buIKPtMin = 2.0;
527 
528  buIBasicSelect = new BPHFittedBasicSelect(buIMassMin, buIMassMax, buIPtMin, buIEtaMax, buIYMax);
530  new BPHCompositeBasicSelect(buIJPsiMassMin, buIJPsiMassMax, buIJPsiPtMin, buIJPsiEtaMax, buIJPsiYMax);
531  buIVertexSelect = new BPHGenericVertexSelect('f', buIProbMin, buICosMin, buISigMin);
532  buIJPsiDaughterSelect = nullptr;
533  // buIJPsiDaughterSelect = new BPHDaughterSelect(
534  // buIMuPtMinLoose , buIMuPtMinTight ,
535  // buIMuEtaMaxLoose, buMuEtaMaxTight, sms );
536 
537  double buDMassMin = 0.0;
538  double buDMassMax = 999999.0;
539  double buDPtMin = 10.0;
540  double buDEtaMax = -1.0;
541  double buDYMax = -1.0;
542  double buDJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
543  double buDJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
544  double buDJPsiPtMin = 8.0;
545  double buDJPsiEtaMax = -1.0;
546  double buDJPsiYMax = -1.0;
547  double buDProbMin = 0.10;
548  double buDCosMin = 0.99;
549  double buDSigMin = 3.0;
550  // double buDMuPtMinLoose = -1.0;
551  // double buDMuPtMinTight = -1.0;
552  // double buDMuEtaMaxLoose = -1.0;
553  // double buDMuEtaMaxTight = -1.0;
554 
555  buDKPtMin = 1.6;
556 
557  buDBasicSelect = new BPHFittedBasicSelect(buDMassMin, buDMassMax, buDPtMin, buDEtaMax, buDYMax);
559  new BPHCompositeBasicSelect(buDJPsiMassMin, buDJPsiMassMax, buDJPsiPtMin, buDJPsiEtaMax, buDJPsiYMax);
560  buDVertexSelect = new BPHGenericVertexSelect('f', buDProbMin, buDCosMin, buDSigMin);
561  buDJPsiDaughterSelect = nullptr;
562  // buDJPsiDaughterSelect = new BPHDaughterSelect(
563  // buDMuPtMinLoose , buDMuPtMinTight ,
564  // buDMuEtaMaxLoose, buDMuEtaMaxTight, sms );
565 
567 
568  double bdIMassMin = 0.0;
569  double bdIMassMax = 999999.0;
570  double bdIPtMin = 27.0;
571  double bdIEtaMax = -1.0;
572  double bdIYMax = -1.0;
573  double bdIJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
574  double bdIJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
575  double bdIJPsiPtMin = 25.0;
576  double bdIJPsiEtaMax = -1.0;
577  double bdIJPsiYMax = -1.0;
578  double bdIKx0MassMin = BPHParticleMasses::kx0Mass - 0.100;
579  double bdIKx0MassMax = BPHParticleMasses::kx0Mass + 0.100;
580  double bdIKx0PtMin = -1.0;
581  double bdIKx0EtaMax = -1.0;
582  double bdIKx0YMax = -1.0;
583  double bdIProbMin = 0.15;
584  double bdICosMin = -2.0;
585  double bdISigMin = -1.0;
586  // double bdIMuPtMinLoose = -1.0;
587  // double bdIMuPtMinTight = -1.0;
588  // double bdIMuEtaMaxLoose = -1.0;
589  // double bdIMuEtaMaxTight = -1.0;
590 
591  bdIBasicSelect = new BPHFittedBasicSelect(bdIMassMin, bdIMassMax, bdIPtMin, bdIEtaMax, bdIYMax);
593  new BPHCompositeBasicSelect(bdIJPsiMassMin, bdIJPsiMassMax, bdIJPsiPtMin, bdIJPsiEtaMax, bdIJPsiYMax);
594  bdIKx0BasicSelect = new BPHCompositeBasicSelect(bdIKx0MassMin, bdIKx0MassMax, bdIKx0PtMin, bdIKx0EtaMax, bdIKx0YMax);
595  bdIVertexSelect = new BPHGenericVertexSelect('f', bdIProbMin, bdICosMin, bdISigMin);
596  bdIJPsiDaughterSelect = nullptr;
597  // bdIJPsiDaughterSelect = new BPHDaughterSelect(
598  // bdIMuPtMinLoose , bdIMuPtMinTight ,
599  // bdIMuEtaMaxLoose, bdIMuEtaMaxTight, sms );
600 
601  double bdDMassMin = 0.0;
602  double bdDMassMax = 999999.0;
603  double bdDPtMin = 10.0;
604  double bdDEtaMax = -1.0;
605  double bdDYMax = -1.0;
606  double bdDJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
607  double bdDJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
608  double bdDJPsiPtMin = 8.0;
609  double bdDJPsiEtaMax = -1.0;
610  double bdDJPsiYMax = -1.0;
611  double bdDKx0MassMin = BPHParticleMasses::kx0Mass - 0.100;
612  double bdDKx0MassMax = BPHParticleMasses::kx0Mass + 0.100;
613  double bdDKx0PtMin = -1.0;
614  double bdDKx0EtaMax = -1.0;
615  double bdDKx0YMax = -1.0;
616  double bdDProbMin = 0.10;
617  double bdDCosMin = 0.99;
618  double bdDSigMin = 3.0;
619  // double bdDMuPtMinLoose = -1.0;
620  // double bdDMuPtMinTight = -1.0;
621  // double bdDMuEtaMaxLoose = -1.0;
622  // double bdDMuEtaMaxTight = -1.0;
623 
624  bdDBasicSelect = new BPHFittedBasicSelect(bdDMassMin, bdDMassMax, bdDPtMin, bdDEtaMax, bdDYMax);
626  new BPHCompositeBasicSelect(bdDJPsiMassMin, bdDJPsiMassMax, bdDJPsiPtMin, bdDJPsiEtaMax, bdDJPsiYMax);
627  bdDKx0BasicSelect = new BPHCompositeBasicSelect(bdDKx0MassMin, bdDKx0MassMax, bdDKx0PtMin, bdDKx0EtaMax, bdDKx0YMax);
628  bdDVertexSelect = new BPHGenericVertexSelect('f', bdDProbMin, bdDCosMin, bdDSigMin);
629  bdDJPsiDaughterSelect = nullptr;
630  // bdDJPsiDaughterSelect = new BPHDaughterSelect(
631  // bdDMuPtMinLoose , bdDMuPtMinTight ,
632  // bdDMuEtaMaxLoose, bdDMuEtaMaxTight, sms );
633 
635 
636  double bsIMassMin = 0.0;
637  double bsIMassMax = 999999.0;
638  double bsIPtMin = 27.0;
639  double bsIEtaMax = -1.0;
640  double bsIYMax = -1.0;
641  double bsIJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
642  double bsIJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
643  double bsIJPsiPtMin = 25.0;
644  double bsIJPsiEtaMax = -1.0;
645  double bsIJPsiYMax = -1.0;
646  double bsIPhiMassMin = BPHParticleMasses::phiMass - 0.010;
647  double bsIPhiMassMax = BPHParticleMasses::phiMass + 0.010;
648  double bsIPhiPtMin = -1.0;
649  double bsIPhiEtaMax = -1.0;
650  double bsIPhiYMax = -1.0;
651  double bsIProbMin = 0.15;
652  double bsICosMin = -2.0;
653  double bsISigMin = -1.0;
654  // double bsIMuPtMinLoose = -1.0;
655  // double bsIMuPtMinTight = -1.0;
656  // double bsIMuEtaMaxLoose = -1.0;
657  // double bsIMuEtaMaxTight = -1.0;
658 
659  bsIBasicSelect = new BPHFittedBasicSelect(bsIMassMin, bsIMassMax, bsIPtMin, bsIEtaMax, bsIYMax);
661  new BPHCompositeBasicSelect(bsIJPsiMassMin, bsIJPsiMassMax, bsIJPsiPtMin, bsIJPsiEtaMax, bsIJPsiYMax);
662  bsIPhiBasicSelect = new BPHCompositeBasicSelect(bsIPhiMassMin, bsIPhiMassMax, bsIPhiPtMin, bsIPhiEtaMax, bsIPhiYMax);
663  bsIVertexSelect = new BPHGenericVertexSelect('f', bsIProbMin, bsICosMin, bsISigMin);
664  bsIJPsiDaughterSelect = nullptr;
665  // bsIJPsiDaughterSelect = new BPHDaughterSelect(
666  // bsIMuPtMinLoose , bsIMuPtMinTight ,
667  // bsIMuEtaMaxLoose, bsIMuEtaMaxTight, sms );
668 
669  double bsDMassMin = 0.0;
670  double bsDMassMax = 999999.0;
671  double bsDPtMin = 10.0;
672  double bsDEtaMax = -1.0;
673  double bsDYMax = -1.0;
674  double bsDJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
675  double bsDJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
676  double bsDJPsiPtMin = 8.0;
677  double bsDJPsiEtaMax = -1.0;
678  double bsDJPsiYMax = -1.0;
679  double bsDPhiMassMin = BPHParticleMasses::phiMass - 0.010;
680  double bsDPhiMassMax = BPHParticleMasses::phiMass + 0.010;
681  double bsDPhiPtMin = -1.0;
682  double bsDPhiEtaMax = -1.0;
683  double bsDPhiYMax = -1.0;
684  double bsDProbMin = 0.10;
685  double bsDCosMin = 0.99;
686  double bsDSigMin = 3.0;
687  // double bsDMuPtMinLoose = -1.0;
688  // double bsDMuPtMinTight = -1.0;
689  // double bsDMuEtaMaxLoose = -1.0;
690  // double bsDMuEtaMaxTight = -1.0;
691 
692  bsDBasicSelect = new BPHFittedBasicSelect(bsDMassMin, bsDMassMax, bsDPtMin, bsDEtaMax, bsDYMax);
694  new BPHCompositeBasicSelect(bsDJPsiMassMin, bsDJPsiMassMax, bsDJPsiPtMin, bsDJPsiEtaMax, bsDJPsiYMax);
695  bsDPhiBasicSelect = new BPHCompositeBasicSelect(bsDPhiMassMin, bsDPhiMassMax, bsDPhiPtMin, bsDPhiEtaMax, bsDPhiYMax);
696  bsDVertexSelect = new BPHGenericVertexSelect('f', bsDProbMin, bsDCosMin, bsDSigMin);
697  bsDJPsiDaughterSelect = nullptr;
698  // bsDJPsiDaughterSelect = new BPHDaughterSelect(
699  // bsDMuPtMinLoose , bsDMuPtMinTight ,
700  // bsDMuEtaMaxLoose, bsDMuEtaMaxTight, sms );
701 
703 
704  double b0IMassMin = 0.0;
705  double b0IMassMax = 999999.0;
706  double b0IPtMin = 27.0;
707  double b0IEtaMax = -1.0;
708  double b0IYMax = -1.0;
709  double b0IJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
710  double b0IJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
711  double b0IJPsiPtMin = 25.0;
712  double b0IJPsiEtaMax = -1.0;
713  double b0IJPsiYMax = -1.0;
714  double b0IK0sMassMin = BPHParticleMasses::k0sMass - 0.010;
715  double b0IK0sMassMax = BPHParticleMasses::k0sMass + 0.010;
716  double b0IK0sPtMin = -1.0;
717  double b0IK0sEtaMax = -1.0;
718  double b0IK0sYMax = -1.0;
719  double b0IProbMin = 0.15;
720  double b0ICosMin = -2.0;
721  double b0ISigMin = -1.0;
722  // double b0IMuPtMinLoose = -1.0;
723  // double b0IMuPtMinTight = -1.0;
724  // double b0IMuEtaMaxLoose = -1.0;
725  // double b0IMuEtaMaxTight = -1.0;
726 
727  b0IBasicSelect = new BPHFittedBasicSelect(b0IMassMin, b0IMassMax, b0IPtMin, b0IEtaMax, b0IYMax);
729  new BPHCompositeBasicSelect(b0IJPsiMassMin, b0IJPsiMassMax, b0IJPsiPtMin, b0IJPsiEtaMax, b0IJPsiYMax);
730  b0IK0sBasicSelect = new BPHFittedBasicSelect(b0IK0sMassMin, b0IK0sMassMax, b0IK0sPtMin, b0IK0sEtaMax, b0IK0sYMax);
731  b0IVertexSelect = new BPHGenericVertexSelect('f', b0IProbMin, b0ICosMin, b0ISigMin);
732  b0IJPsiDaughterSelect = nullptr;
733  // b0IJPsiDaughterSelect = new BPHDaughterSelect(
734  // b0IMuPtMinLoose , b0IMuPtMinTight ,
735  // b0IMuEtaMaxLoose, b0IMuEtaMaxTight, sms );
736 
737  double b0DMassMin = 0.0;
738  double b0DMassMax = 999999.0;
739  double b0DPtMin = 10.0;
740  double b0DEtaMax = -1.0;
741  double b0DYMax = -1.0;
742  double b0DJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
743  double b0DJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
744  double b0DJPsiPtMin = 8.0;
745  double b0DJPsiEtaMax = -1.0;
746  double b0DJPsiYMax = -1.0;
747  double b0DK0sMassMin = BPHParticleMasses::k0sMass - 0.010;
748  double b0DK0sMassMax = BPHParticleMasses::k0sMass + 0.010;
749  double b0DK0sPtMin = -1.0;
750  double b0DK0sEtaMax = -1.0;
751  double b0DK0sYMax = -1.0;
752  double b0DProbMin = 0.10;
753  double b0DCosMin = 0.99;
754  double b0DSigMin = 3.0;
755  // double b0DMuPtMinLoose = -1.0;
756  // double b0DMuPtMinTight = -1.0;
757  // double b0DMuEtaMaxLoose = -1.0;
758  // double b0DMuEtaMaxTight = -1.0;
759 
760  b0DBasicSelect = new BPHFittedBasicSelect(b0DMassMin, b0DMassMax, b0DPtMin, b0DEtaMax, b0DYMax);
762  new BPHCompositeBasicSelect(b0DJPsiMassMin, b0DJPsiMassMax, b0DJPsiPtMin, b0DJPsiEtaMax, b0DJPsiYMax);
763  b0DK0sBasicSelect = new BPHFittedBasicSelect(b0DK0sMassMin, b0DK0sMassMax, b0DK0sPtMin, b0DK0sEtaMax, b0DK0sYMax);
764  b0DVertexSelect = new BPHGenericVertexSelect('f', b0DProbMin, b0DCosMin, b0DSigMin);
765  b0DJPsiDaughterSelect = nullptr;
766  // b0DJPsiDaughterSelect = new BPHDaughterSelect(
767  // b0DMuPtMinLoose , b0DMuPtMinTight ,
768  // b0DMuEtaMaxLoose, b0DMuEtaMaxTight, sms );
769 
771 
772  double lbIMassMin = 0.0;
773  double lbIMassMax = 999999.0;
774  double lbIPtMin = 27.0;
775  double lbIEtaMax = -1.0;
776  double lbIYMax = -1.0;
777  double lbIJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
778  double lbIJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
779  double lbIJPsiPtMin = 25.0;
780  double lbIJPsiEtaMax = -1.0;
781  double lbIJPsiYMax = -1.0;
782  double lbILambda0MassMin = BPHParticleMasses::lambda0Mass - 0.006;
783  double lbILambda0MassMax = BPHParticleMasses::lambda0Mass + 0.006;
784  double lbILambda0PtMin = -1.0;
785  double lbILambda0EtaMax = -1.0;
786  double lbILambda0YMax = -1.0;
787  double lbIProbMin = 0.10;
788  double lbICosMin = -2.0;
789  double lbISigMin = -1.0;
790  // double lbIMuPtMinLoose = -1.0;
791  // double lbIMuPtMinTight = -1.0;
792  // double lbIMuEtaMaxLoose = -1.0;
793  // double lbIMuEtaMaxTight = -1.0;
794 
795  lbIBasicSelect = new BPHFittedBasicSelect(lbIMassMin, lbIMassMax, lbIPtMin, lbIEtaMax, lbIYMax);
797  new BPHCompositeBasicSelect(lbIJPsiMassMin, lbIJPsiMassMax, lbIJPsiPtMin, lbIJPsiEtaMax, lbIJPsiYMax);
799  new BPHFittedBasicSelect(lbILambda0MassMin, lbILambda0MassMax, lbILambda0PtMin, lbILambda0EtaMax, lbILambda0YMax);
800  lbIVertexSelect = new BPHGenericVertexSelect('f', lbIProbMin, lbICosMin, lbISigMin);
801  lbIJPsiDaughterSelect = nullptr;
802  // lbIJPsiDaughterSelect = new BPHDaughterSelect(
803  // lbIMuPtMinLoose , lbIMuPtMinTight ,
804  // lbIMuEtaMaxLoose, lbIMuEtaMaxTight, sms );
805 
806  double lbDMassMin = 0.0;
807  double lbDMassMax = 999999.0;
808  double lbDPtMin = 10.0;
809  double lbDEtaMax = -1.0;
810  double lbDYMax = -1.0;
811  double lbDJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
812  double lbDJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
813  double lbDJPsiPtMin = 8.0;
814  double lbDJPsiEtaMax = -1.0;
815  double lbDJPsiYMax = -1.0;
816  double lbDLambda0MassMin = BPHParticleMasses::lambda0Mass - 0.006;
817  double lbDLambda0MassMax = BPHParticleMasses::lambda0Mass + 0.006;
818  double lbDLambda0PtMin = -1.0;
819  double lbDLambda0EtaMax = -1.0;
820  double lbDLambda0YMax = -1.0;
821  double lbDProbMin = 0.10;
822  double lbDCosMin = 0.99;
823  double lbDSigMin = 3.0;
824  // double lbDMuPtMinLoose = -1.0;
825  // double lbDMuPtMinTight = -1.0;
826  // double lbDMuEtaMaxLoose = -1.0;
827  // double lbDMuEtaMaxTight = -1.0;
828 
829  lbDBasicSelect = new BPHFittedBasicSelect(lbDMassMin, lbDMassMax, lbDPtMin, lbDEtaMax, lbDYMax);
831  new BPHCompositeBasicSelect(lbDJPsiMassMin, lbDJPsiMassMax, lbDJPsiPtMin, lbDJPsiEtaMax, lbDJPsiYMax);
833  new BPHFittedBasicSelect(lbDLambda0MassMin, lbDLambda0MassMax, lbDLambda0PtMin, lbDLambda0EtaMax, lbDLambda0YMax);
834  lbDVertexSelect = new BPHGenericVertexSelect('f', lbDProbMin, lbDCosMin, lbDSigMin);
835  lbDJPsiDaughterSelect = nullptr;
836  // lbDJPsiDaughterSelect = new BPHDaughterSelect(
837  // lbDMuPtMinLoose , lbDMuPtMinTight ,
838  // lbDMuEtaMaxLoose, lbDMuEtaMaxTight, sms );
839 
841 
842  double bcIMassMin = 0.0;
843  double bcIMassMax = 999999.0;
844  double bcIPtMin = 27.0;
845  double bcIEtaMax = -1.0;
846  double bcIYMax = -1.0;
847  double bcIJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
848  double bcIJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
849  double bcIJPsiPtMin = 25.0;
850  double bcIJPsiEtaMax = -1.0;
851  double bcIJPsiYMax = -1.0;
852  double bcIJPsiProbMin = 0.005;
853  double bcIProbMin = 0.10;
854  double bcICosMin = -2.0;
855  double bcISigMin = -1.0;
856  double bcIDistMin = 0.01;
857  // double bcIMuPtMinLoose = -1.0;
858  // double bcIMuPtMinTight = -1.0;
859  // double bcIMuEtaMaxLoose = -1.0;
860  // double bcIMuEtaMaxTight = -1.0;
861 
862  bcIPiPtMin = 3.5;
863 
864  bcIBasicSelect = new BPHFittedBasicSelect(bcIMassMin, bcIMassMax, bcIPtMin, bcIEtaMax, bcIYMax);
866  new BPHCompositeBasicSelect(bcIJPsiMassMin, bcIJPsiMassMax, bcIJPsiPtMin, bcIJPsiEtaMax, bcIJPsiYMax);
867  bcIJPsiVertexSelect = new BPHGenericVertexSelect('c', bcIJPsiProbMin);
868  bcIVertexSelect = new BPHGenericVertexSelect('f', bcIProbMin, bcICosMin, bcISigMin, bcIDistMin);
869  bcIJPsiDaughterSelect = nullptr;
870  // bcIJPsiDaughterSelect = new BPHDaughterSelect(
871  // bcIMuPtMinLoose , bcIMuPtMinTight ,
872  // bcIMuEtaMaxLoose, bcMuEtaMaxTight, sms );
873 
874  double bcDMassMin = 0.0;
875  double bcDMassMax = 999999.0;
876  double bcDPtMin = 8.0;
877  double bcDEtaMax = -1.0;
878  double bcDYMax = -1.0;
879  double bcDJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
880  double bcDJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
881  double bcDJPsiPtMin = 7.0;
882  double bcDJPsiEtaMax = -1.0;
883  double bcDJPsiYMax = -1.0;
884  double bcDJPsiProbMin = 0.005;
885  double bcDProbMin = 0.10;
886  double bcDCosMin = 0.99;
887  double bcDSigMin = 3.0;
888  // double bcDMuPtMinLoose = -1.0;
889  // double bcDMuPtMinTight = -1.0;
890  // double bcDMuEtaMaxLoose = -1.0;
891  // double bcDMuEtaMaxTight = -1.0;
892 
893  bcJPsiDcaMax = 0.5;
894  bcDPiPtMin = 3.5;
895 
896  bcDBasicSelect = new BPHFittedBasicSelect(bcDMassMin, bcDMassMax, bcDPtMin, bcDEtaMax, bcDYMax);
898  new BPHCompositeBasicSelect(bcDJPsiMassMin, bcDJPsiMassMax, bcDJPsiPtMin, bcDJPsiEtaMax, bcDJPsiYMax);
899  bcDJPsiVertexSelect = new BPHGenericVertexSelect('c', bcDJPsiProbMin);
900  bcDVertexSelect = new BPHGenericVertexSelect('f', bcDProbMin, bcDCosMin, bcDSigMin);
901  bcDJPsiDaughterSelect = nullptr;
902  // bcDJPsiDaughterSelect = new BPHDaughterSelect(
903  // bcDMuPtMinLoose , bcDMuPtMinTight ,
904  // bcDMuEtaMaxLoose, bcDMuEtaMaxTight, sms );
905 
907 
908  double x3872IMassMin = 0.0;
909  double x3872IMassMax = 999999.0;
910  double x3872IPtMin = 27.0;
911  double x3872IEtaMax = -1.0;
912  double x3872IYMax = -1.0;
913  double x3872IJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
914  double x3872IJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
915  double x3872IJPsiPtMin = 25.0;
916  double x3872IJPsiEtaMax = -1.0;
917  double x3872IJPsiYMax = -1.0;
918  double x3872IJPsiProbMin = 0.10;
919  double x3872IProbMin = 0.10;
920  double x3872ICosMin = -2.0;
921  double x3872ISigMin = -1.0;
922  double x3872IDistMin = 0.01;
923  // double x3872IMuPtMinLoose = -1.0;
924  // double x3872IMuPtMinTight = -1.0;
925  // double x3872IMuEtaMaxLoose = -1.0;
926  // double x3872IMuEtaMaxTight = -1.0;
927 
928  x3872JPsiDcaMax = 0.5;
929  x3872IPiPtMin = 1.2;
930 
931  x3872IBasicSelect = new BPHFittedBasicSelect(x3872IMassMin, x3872IMassMax, x3872IPtMin, x3872IEtaMax, x3872IYMax);
933  x3872IJPsiMassMin, x3872IJPsiMassMax, x3872IJPsiPtMin, x3872IJPsiEtaMax, x3872IJPsiYMax);
934  x3872IJPsiVertexSelect = new BPHGenericVertexSelect('c', x3872IJPsiProbMin);
935  x3872IVertexSelect = new BPHGenericVertexSelect('f', x3872IProbMin, x3872ICosMin, x3872ISigMin, x3872IDistMin);
936  x3872IJPsiDaughterSelect = nullptr;
937  // x3872IJPsiDaughterSelect = new BPHDaughterSelect(
938  // x3872IMuPtMinLoose , x3872IMuPtMinTight,
939  // x3872IMuEtaMaxLoose, x3872MuEtaMaxTight,
940  // sms );
941 
942  double x3872DMassMin = 0.0;
943  double x3872DMassMax = 999999.0;
944  double x3872DPtMin = 8.0;
945  double x3872DEtaMax = -1.0;
946  double x3872DYMax = -1.0;
947  double x3872DJPsiMassMin = BPHParticleMasses::jPsiMass - 0.150;
948  double x3872DJPsiMassMax = BPHParticleMasses::jPsiMass + 0.150;
949  double x3872DJPsiPtMin = 7.0;
950  double x3872DJPsiEtaMax = -1.0;
951  double x3872DJPsiYMax = -1.0;
952  double x3872DJPsiProbMin = 0.10;
953  double x3872DProbMin = 0.10;
954  double x3872DCosMin = 0.99;
955  double x3872DSigMin = 3.0;
956  // double x3872DMuPtMinLoose = -1.0;
957  // double x3872DMuPtMinTight = -1.0;
958  // double x3872DMuEtaMaxLoose = -1.0;
959  // double x3872DMuEtaMaxTight = -1.0;
960 
961  x3872DPiPtMin = 1.2;
962 
963  x3872DBasicSelect = new BPHFittedBasicSelect(x3872DMassMin, x3872DMassMax, x3872DPtMin, x3872DEtaMax, x3872DYMax);
965  x3872DJPsiMassMin, x3872DJPsiMassMax, x3872DJPsiPtMin, x3872DJPsiEtaMax, x3872DJPsiYMax);
966  x3872DJPsiVertexSelect = new BPHGenericVertexSelect('c', x3872DJPsiProbMin);
967  x3872DVertexSelect = new BPHGenericVertexSelect('f', x3872DProbMin, x3872DCosMin, x3872DSigMin);
968  x3872DJPsiDaughterSelect = nullptr;
969  // x3872DJPsiDaughterSelect = new BPHDaughterSelect(
970  // x3872DMuPtMinLoose , x3872DMuPtMinTight ,
971  // x3872DMuEtaMaxLoose, x3872DMuEtaMaxTight,,
972  // sms );
973 }
CandidateSelect * bsIJPsiBasicSelect
CandidateSelect * buDVertexSelect
CandidateSelect * bsDPhiBasicSelect
CandidateSelect * lbDJPsiDaughterSelect
CandidateSelect * jPsiBBasicSelect
CandidateSelect * bcDVertexSelect
CandidateSelect * x3872IJPsiBasicSelect
CandidateSelect * bcDJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > sdCandsToken
CandidateSelect * bsIBasicSelect
CandidateSelect * bdDKx0BasicSelect
CandidateSelect * phiIBasicSelect
CandidateSelect * lbIJPsiBasicSelect
CandidateSelect * b0DVertexSelect
CandidateSelect * bcIBasicSelect
CandidateSelect * buIJPsiBasicSelect
CandidateSelect * jPsiIBasicSelect
CandidateSelect * bdIKx0BasicSelect
CandidateSelect * bcDBasicSelect
CandidateSelect * buDJPsiDaughterSelect
CandidateSelect * bdDVertexSelect
CandidateSelect * x3872IVertexSelect
CandidateSelect * lbDJPsiBasicSelect
CandidateSelect * bsDJPsiDaughterSelect
CandidateSelect * psi2BBasicSelect
CandidateSelect * buIBasicSelect
CandidateSelect * bdIJPsiBasicSelect
CandidateSelect * npJPsiDaughterSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bcCandsToken
CandidateSelect * bcDJPsiVertexSelect
CandidateSelect * buDBasicSelect
static const double jPsiMass
CandidateSelect * lbDVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bdCandsToken
static const double k0sMass
CandidateSelect * b0IBasicSelect
CandidateSelect * bsIJPsiDaughterSelect
CandidateSelect * b0DBasicSelect
CandidateSelect * bsDVertexSelect
CandidateSelect * x3872IJPsiDaughterSelect
CandidateSelect * bsDJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bsCandsToken
CandidateSelect * bdDJPsiBasicSelect
static const double kx0Mass
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > lbCandsToken
CandidateSelect * x3872DJPsiVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > x3872CandsToken
CandidateSelect * lbDBasicSelect
CandidateSelect * bsIVertexSelect
CandidateSelect * x3872IBasicSelect
CandidateSelect * oniaDaughterSelect
CandidateSelect * lbIJPsiDaughterSelect
CandidateSelect * npJPsiBasicSelect
CandidateSelect * b0IVertexSelect
CandidateSelect * bdIBasicSelect
CandidateSelect * bdDJPsiDaughterSelect
BPHTokenWrapper< edm::TriggerResults > trigResultsToken
static const double lambda0Mass
CandidateSelect * lbIBasicSelect
CandidateSelect * x3872DBasicSelect
static const double phiMass
CandidateSelect * x3872IJPsiVertexSelect
CandidateSelect * bsDBasicSelect
CandidateSelect * buDJPsiBasicSelect
CandidateSelect * lbILambda0BasicSelect
CandidateSelect * bcDJPsiDaughterSelect
CandidateSelect * buIJPsiDaughterSelect
CandidateSelect * b0DJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > l0CandsToken
CandidateSelect * bdIVertexSelect
CandidateSelect * psi2IBasicSelect
CandidateSelect * upsBBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > k0CandsToken
CandidateSelect * oniaVertexSelect
CandidateSelect * bdDBasicSelect
CandidateSelect * b0IK0sBasicSelect
CandidateSelect * b0IJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > b0CandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > ssCandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > buCandsToken
CandidateSelect * bcIVertexSelect
CandidateSelect * bcIJPsiDaughterSelect
CandidateSelect * lbIVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > oniaCandsToken
CandidateSelect * lbDLambda0BasicSelect
CandidateSelect * bdIJPsiDaughterSelect
CandidateSelect * b0DJPsiDaughterSelect
CandidateSelect * bcIJPsiBasicSelect
CandidateSelect * b0IJPsiDaughterSelect
CandidateSelect * x3872DJPsiDaughterSelect
CandidateSelect * phiBBasicSelect
CandidateSelect * bcIJPsiVertexSelect
CandidateSelect * x3872DVertexSelect
CandidateSelect * bsIPhiBasicSelect
#define SET_LABEL(NAME, PSET)
CandidateSelect * upsIBasicSelect
CandidateSelect * b0DK0sBasicSelect
CandidateSelect * x3872DJPsiBasicSelect
CandidateSelect * buIVertexSelect

◆ ~BPHHistoSpecificDecay()

BPHHistoSpecificDecay::~BPHHistoSpecificDecay ( )
override

Definition at line 975 of file BPHHistoSpecificDecay.cc.

975  {
976  delete phiIBasicSelect;
977  delete phiBBasicSelect;
978  delete jPsiIBasicSelect;
979  delete jPsiBBasicSelect;
980  delete psi2IBasicSelect;
981  delete psi2BBasicSelect;
982  delete upsIBasicSelect;
983  delete upsBBasicSelect;
984  delete oniaVertexSelect;
985  delete oniaDaughterSelect;
986 
987  delete npJPsiBasicSelect;
988  delete npJPsiDaughterSelect;
989 
990  delete buIBasicSelect;
991  delete buIJPsiBasicSelect;
992  delete buIVertexSelect;
993  delete buIJPsiDaughterSelect;
994  delete buDBasicSelect;
995  delete buDJPsiBasicSelect;
996  delete buDVertexSelect;
997  delete buDJPsiDaughterSelect;
998 
999  delete bdIBasicSelect;
1000  delete bdIJPsiBasicSelect;
1001  delete bdIKx0BasicSelect;
1002  delete bdIVertexSelect;
1003  delete bdIJPsiDaughterSelect;
1004  delete bdDBasicSelect;
1005  delete bdDJPsiBasicSelect;
1006  delete bdDKx0BasicSelect;
1007  delete bdDVertexSelect;
1008  delete bdDJPsiDaughterSelect;
1009 
1010  delete bsIBasicSelect;
1011  delete bsIJPsiBasicSelect;
1012  delete bsIPhiBasicSelect;
1013  delete bsIVertexSelect;
1014  delete bsIJPsiDaughterSelect;
1015  delete bsDBasicSelect;
1016  delete bsDJPsiBasicSelect;
1017  delete bsDPhiBasicSelect;
1018  delete bsDVertexSelect;
1019  delete bsDJPsiDaughterSelect;
1020 
1021  delete b0IBasicSelect;
1022  delete b0IJPsiBasicSelect;
1023  delete b0IK0sBasicSelect;
1024  delete b0IVertexSelect;
1025  delete b0IJPsiDaughterSelect;
1026  delete b0DBasicSelect;
1027  delete b0DJPsiBasicSelect;
1028  delete b0DK0sBasicSelect;
1029  delete b0DVertexSelect;
1030  delete b0DJPsiDaughterSelect;
1031 
1032  delete lbIBasicSelect;
1033  delete lbIJPsiBasicSelect;
1034  delete lbILambda0BasicSelect;
1035  delete lbIVertexSelect;
1036  delete lbIJPsiDaughterSelect;
1037  delete lbDBasicSelect;
1038  delete lbDJPsiBasicSelect;
1039  delete lbDLambda0BasicSelect;
1040  delete lbDVertexSelect;
1041  delete lbDJPsiDaughterSelect;
1042 
1043  delete bcIBasicSelect;
1044  delete bcIJPsiBasicSelect;
1045  delete bcIJPsiVertexSelect;
1046  delete bcIVertexSelect;
1047  delete bcIJPsiDaughterSelect;
1048  delete bcDBasicSelect;
1049  delete bcDJPsiBasicSelect;
1050  delete bcDJPsiVertexSelect;
1051  delete bcDVertexSelect;
1052  delete bcDJPsiDaughterSelect;
1053 
1054  delete x3872IBasicSelect;
1055  delete x3872IJPsiBasicSelect;
1056  delete x3872IJPsiVertexSelect;
1057  delete x3872IVertexSelect;
1058  delete x3872IJPsiDaughterSelect;
1059  delete x3872DBasicSelect;
1060  delete x3872DJPsiBasicSelect;
1061  delete x3872DJPsiVertexSelect;
1062  delete x3872DVertexSelect;
1063  delete x3872DJPsiDaughterSelect;
1064 }
CandidateSelect * bsIJPsiBasicSelect
CandidateSelect * buDVertexSelect
CandidateSelect * bsDPhiBasicSelect
CandidateSelect * lbDJPsiDaughterSelect
CandidateSelect * jPsiBBasicSelect
CandidateSelect * bcDVertexSelect
CandidateSelect * x3872IJPsiBasicSelect
CandidateSelect * bcDJPsiBasicSelect
CandidateSelect * bsIBasicSelect
CandidateSelect * bdDKx0BasicSelect
CandidateSelect * phiIBasicSelect
CandidateSelect * lbIJPsiBasicSelect
CandidateSelect * b0DVertexSelect
CandidateSelect * bcIBasicSelect
CandidateSelect * buIJPsiBasicSelect
CandidateSelect * jPsiIBasicSelect
CandidateSelect * bdIKx0BasicSelect
CandidateSelect * bcDBasicSelect
CandidateSelect * buDJPsiDaughterSelect
CandidateSelect * bdDVertexSelect
CandidateSelect * x3872IVertexSelect
CandidateSelect * lbDJPsiBasicSelect
CandidateSelect * bsDJPsiDaughterSelect
CandidateSelect * psi2BBasicSelect
CandidateSelect * buIBasicSelect
CandidateSelect * bdIJPsiBasicSelect
CandidateSelect * npJPsiDaughterSelect
CandidateSelect * bcDJPsiVertexSelect
CandidateSelect * buDBasicSelect
CandidateSelect * lbDVertexSelect
CandidateSelect * b0IBasicSelect
CandidateSelect * bsIJPsiDaughterSelect
CandidateSelect * b0DBasicSelect
CandidateSelect * bsDVertexSelect
CandidateSelect * x3872IJPsiDaughterSelect
CandidateSelect * bsDJPsiBasicSelect
CandidateSelect * bdDJPsiBasicSelect
CandidateSelect * x3872DJPsiVertexSelect
CandidateSelect * lbDBasicSelect
CandidateSelect * bsIVertexSelect
CandidateSelect * x3872IBasicSelect
CandidateSelect * oniaDaughterSelect
CandidateSelect * lbIJPsiDaughterSelect
CandidateSelect * npJPsiBasicSelect
CandidateSelect * b0IVertexSelect
CandidateSelect * bdIBasicSelect
CandidateSelect * bdDJPsiDaughterSelect
CandidateSelect * lbIBasicSelect
CandidateSelect * x3872DBasicSelect
CandidateSelect * x3872IJPsiVertexSelect
CandidateSelect * bsDBasicSelect
CandidateSelect * buDJPsiBasicSelect
CandidateSelect * lbILambda0BasicSelect
CandidateSelect * bcDJPsiDaughterSelect
CandidateSelect * buIJPsiDaughterSelect
CandidateSelect * b0DJPsiBasicSelect
CandidateSelect * bdIVertexSelect
CandidateSelect * psi2IBasicSelect
CandidateSelect * upsBBasicSelect
CandidateSelect * oniaVertexSelect
CandidateSelect * bdDBasicSelect
CandidateSelect * b0IK0sBasicSelect
CandidateSelect * b0IJPsiBasicSelect
CandidateSelect * bcIVertexSelect
CandidateSelect * bcIJPsiDaughterSelect
CandidateSelect * lbIVertexSelect
CandidateSelect * lbDLambda0BasicSelect
CandidateSelect * bdIJPsiDaughterSelect
CandidateSelect * b0DJPsiDaughterSelect
CandidateSelect * bcIJPsiBasicSelect
CandidateSelect * b0IJPsiDaughterSelect
CandidateSelect * x3872DJPsiDaughterSelect
CandidateSelect * phiBBasicSelect
CandidateSelect * bcIJPsiVertexSelect
CandidateSelect * x3872DVertexSelect
CandidateSelect * bsIPhiBasicSelect
CandidateSelect * upsIBasicSelect
CandidateSelect * b0DK0sBasicSelect
CandidateSelect * x3872DJPsiBasicSelect
CandidateSelect * buIVertexSelect

Member Function Documentation

◆ analyze()

void BPHHistoSpecificDecay::analyze ( const edm::Event ev,
const edm::EventSetup es 
)
overridevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 1255 of file BPHHistoSpecificDecay.cc.

References CHK_TRIG, makeMEIFBenchmarkPlots::ev, BPHDaughters::get(), edm::HandleBase::isValid(), LogTrace, Skims_PA_cff::name, names, reco::Candidate::pt(), convertSQLiteXML::runNumber, and trigNames.

1255  {
1256  // if ( ev.id().run () != 316239 ) return;
1257  // if ( ev.id().event() != 170736782 ) return;
1258  static map<string, ofstream*> ofMap;
1259  if (ofMap.empty()) {
1260  ofMap["BarPhi"] = nullptr;
1261  ofMap["IncJPsi"] = nullptr;
1262  ofMap["BarJPsi"] = nullptr;
1263  ofMap["IncPsi2"] = nullptr;
1264  ofMap["BarPsi2"] = nullptr;
1265  ofMap["BarUpsilon123"] = nullptr;
1266  ofMap["InclusiveBu"] = nullptr;
1267  ofMap["DisplacedBu"] = nullptr;
1268  ofMap["InclusiveBd"] = nullptr;
1269  ofMap["DisplacedBd"] = nullptr;
1270  ofMap["InclusiveBs"] = nullptr;
1271  ofMap["DisplacedBs"] = nullptr;
1272  ofMap["K0s"] = nullptr;
1273  ofMap["Lambda0"] = nullptr;
1274  ofMap["InclusiveB0"] = nullptr;
1275  ofMap["DisplacedB0"] = nullptr;
1276  ofMap["InclusiveLambdab"] = nullptr;
1277  ofMap["DisplacedLambdab"] = nullptr;
1278  ofMap["InclusiveBc"] = nullptr;
1279  ofMap["DisplacedBc"] = nullptr;
1280  ofMap["InclusiveX3872"] = nullptr;
1281  ofMap["DisplacedX3872"] = nullptr;
1282  map<string, ofstream*>::iterator iter = ofMap.begin();
1283  map<string, ofstream*>::iterator iend = ofMap.end();
1284  string name = "list";
1285  while (iter != iend) {
1286  iter->second = new ofstream(name + iter->first);
1287  ++iter;
1288  }
1289  }
1290 
1291  // event number
1292  runNumber = ev.id().run();
1293  lumiSection = ev.id().luminosityBlock();
1294  eventNumber = ev.id().event();
1295 
1296  // get object collections
1297  // collections are got through "BPHTokenWrapper" interface to allow
1298  // uniform access in different CMSSW versions
1299 
1301 
1303  const edm::TriggerNames* trigNames = nullptr;
1304  if (useTrig) {
1305  trigResultsToken.get(ev, trigResults);
1306  if (trigResults.isValid())
1307  trigNames = &ev.triggerNames(*trigResults);
1308  }
1309 
1310  bool flag_Dimuon25_Jpsi = false;
1311  bool flag_Dimuon20_Jpsi_Barrel_Seagulls = false;
1312  bool flag_Dimuon14_Phi_Barrel_Seagulls = false;
1313  bool flag_Dimuon18_PsiPrime = false;
1314  bool flag_Dimuon10_PsiPrime_Barrel_Seagulls = false;
1315  bool flag_Dimuon12_Upsilon_eta1p5 = false;
1316  bool flag_Dimuon12_Upsilon_y1p4 = false;
1317  bool flag_DoubleMu4_JpsiTrk_Displaced = false;
1318  if (trigNames != nullptr) {
1319  const edm::TriggerNames::Strings& names = trigNames->triggerNames();
1320  int iObj;
1321  int nObj = names.size();
1322  for (iObj = 0; iObj < nObj; ++iObj) {
1323  // cout << names[iObj] << endl;
1324  CHK_TRIG(trigResults, names, iObj, Dimuon25_Jpsi)
1325  CHK_TRIG(trigResults, names, iObj, Dimuon20_Jpsi_Barrel_Seagulls)
1326  CHK_TRIG(trigResults, names, iObj, Dimuon14_Phi_Barrel_Seagulls)
1327  CHK_TRIG(trigResults, names, iObj, Dimuon18_PsiPrime)
1328  CHK_TRIG(trigResults, names, iObj, Dimuon10_PsiPrime_Barrel_Seagulls)
1329  CHK_TRIG(trigResults, names, iObj, Dimuon12_Upsilon_eta1p5)
1330  CHK_TRIG(trigResults, names, iObj, Dimuon12_Upsilon_y1p4)
1331  CHK_TRIG(trigResults, names, iObj, DoubleMu4_JpsiTrk_Displaced)
1332  }
1333  }
1334 
1335  // cout << "Dimuon25_Jpsi "
1336  // << ( flag_Dimuon25_Jpsi ? 'A' : 'R' ) << endl;
1337  // cout << "Dimuon20_Jpsi_Barrel_Seagulls "
1338  // << ( flag_Dimuon20_Jpsi_Barrel_Seagulls ? 'A' : 'R' ) << endl;
1339  // cout << "Dimuon14_Phi_Barrel_Seagulls "
1340  // << ( flag_Dimuon14_Phi_Barrel_Seagulls ? 'A' : 'R' ) << endl;
1341  // cout << "Dimuon18_PsiPrime "
1342  // << ( flag_Dimuon18_PsiPrime ? 'A' : 'R' ) << endl;
1343  // cout << "Dimuon10_PsiPrime_Barrel_Seagulls "
1344  // << ( flag_Dimuon10_PsiPrime_Barrel_Seagulls ? 'A' : 'R' ) << endl;
1345  // cout << "Dimuon12_Upsilon_eta1p5 "
1346  // << ( flag_Dimuon12_Upsilon_eta1p5 ? 'A' : 'R' ) << endl;
1347  // cout << "DoubleMu4_JpsiTrk_Displaced "
1348  // << ( flag_DoubleMu4_JpsiTrk_Displaced ? 'A' : 'R' ) << endl;
1349 
1351 
1353  int iqo;
1354  int nqo = 0;
1355  if (useOnia) {
1356  oniaCandsToken.get(ev, oniaCands);
1357  nqo = oniaCands->size();
1358  }
1359 
1360  for (iqo = 0; iqo < nqo; ++iqo) {
1361  LogTrace("DataDump") << "*********** quarkonium " << iqo << "/" << nqo << " ***********";
1362  const pat::CompositeCandidate& cand = oniaCands->at(iqo);
1363  if (!oniaVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(cand, "primaryVertex")))
1364  continue;
1366  continue;
1367  fillHisto("Full", cand, 'c');
1368  if (phiBBasicSelect->accept(cand)) {
1369  fillHisto("DBPhi", cand, 'c');
1370  if (flag_Dimuon14_Phi_Barrel_Seagulls)
1371  fillHisto("TBPhi", cand, 'c');
1372  if (flag_Dimuon14_Phi_Barrel_Seagulls)
1373  *ofMap["BarPhi"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1374  << cand.mass() << endl;
1375  }
1376  if (jPsiIBasicSelect->accept(cand)) {
1377  fillHisto("DIJPsi", cand, 'c');
1378  if (flag_Dimuon25_Jpsi)
1379  fillHisto("TIJPsi", cand, 'c');
1380  if (flag_Dimuon25_Jpsi)
1381  *ofMap["IncJPsi"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1382  << cand.mass() << endl;
1383  }
1384  if (jPsiBBasicSelect->accept(cand)) {
1385  fillHisto("DBJPsi", cand, 'c');
1386  if (flag_Dimuon20_Jpsi_Barrel_Seagulls)
1387  fillHisto("TBJPsi", cand, 'c');
1388  if (flag_Dimuon20_Jpsi_Barrel_Seagulls)
1389  *ofMap["BarJPsi"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1390  << cand.mass() << endl;
1391  }
1392  if (psi2IBasicSelect->accept(cand)) {
1393  fillHisto("DIPsi2", cand, 'c');
1394  if (flag_Dimuon18_PsiPrime)
1395  fillHisto("TIPsi2", cand, 'c');
1396  if (flag_Dimuon18_PsiPrime)
1397  *ofMap["IncPsi2"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1398  << cand.mass() << endl;
1399  }
1400  if (psi2BBasicSelect->accept(cand)) {
1401  fillHisto("DBPsi2", cand, 'c');
1402  if (flag_Dimuon10_PsiPrime_Barrel_Seagulls)
1403  fillHisto("TBPsi2", cand, 'c');
1404  if (flag_Dimuon10_PsiPrime_Barrel_Seagulls)
1405  *ofMap["BarPsi2"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1406  << cand.mass() << endl;
1407  }
1408  if (upsBBasicSelect->accept(cand)) {
1409  fillHisto("DBUps123", cand, 'c');
1410  if (flag_Dimuon12_Upsilon_eta1p5 || flag_Dimuon12_Upsilon_y1p4)
1411  fillHisto("TBUps123", cand, 'c');
1412  if (flag_Dimuon12_Upsilon_eta1p5 || flag_Dimuon12_Upsilon_y1p4)
1413  *ofMap["BarUpsilon123"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1414  << cand.mass() << endl;
1415  }
1416  }
1417 
1419 
1421  int ibu;
1422  int nbu = 0;
1423  if (useBu) {
1424  buCandsToken.get(ev, buCands);
1425  nbu = buCands->size();
1426  }
1427 
1428  for (ibu = 0; ibu < nbu; ++ibu) {
1429  LogTrace("DataDump") << "*********** Bu " << ibu << "/" << nbu << " ***********";
1430  const pat::CompositeCandidate& cand = buCands->at(ibu);
1431  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1432  LogTrace("DataDump") << "JPsi: " << jPsi;
1433  if (jPsi == nullptr)
1434  continue;
1435  if (!npJPsiBasicSelect->accept(*jPsi))
1436  continue;
1437  if (!npJPsiDaughterSelect->accept(*jPsi))
1438  continue;
1439  const reco::Candidate* kptr = BPHDaughters::get(cand, 0.49, 0.50).front();
1440  if (kptr == nullptr)
1441  continue;
1442  if (buIBasicSelect->accept(cand) && buIJPsiBasicSelect->accept(*jPsi) &&
1443  // buIJPsiDaughterSelect->accept( *jPsi ) &&
1444  buIVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1445  (kptr->pt() > buIKPtMin)) {
1446  fillHisto("DIBu", cand, 'f');
1447  fillHisto("DIBuJPsi", *jPsi, 'c');
1448  if (flag_Dimuon25_Jpsi) {
1449  fillHisto("TIBu", cand, 'f');
1450  fillHisto("TIBuJPsi", *jPsi, 'c');
1451  *ofMap["InclusiveBu"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1452  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1453  }
1454  }
1455  if (buDBasicSelect->accept(cand) && buDJPsiBasicSelect->accept(*jPsi) &&
1456  // buDJPsiDaughterSelect->accept( *jPsi ) &&
1457  buDVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1458  (kptr->pt() > buDKPtMin)) {
1459  fillHisto("DDBu", cand, 'f');
1460  fillHisto("DDBuJPsi", *jPsi, 'c');
1461  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1462  fillHisto("TDBu", cand, 'f');
1463  fillHisto("TDBuJPsi", *jPsi, 'c');
1464  *ofMap["DisplacedBu"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1465  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1466  }
1467  }
1468  }
1469 
1471 
1473  int ibd;
1474  int nbd = 0;
1475  if (useBd) {
1476  bdCandsToken.get(ev, bdCands);
1477  nbd = bdCands->size();
1478  }
1479 
1480  for (ibd = 0; ibd < nbd; ++ibd) {
1481  LogTrace("DataDump") << "*********** Bd " << ibd << "/" << nbd << " ***********";
1482  const pat::CompositeCandidate& cand = bdCands->at(ibd);
1483  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1484  LogTrace("DataDump") << "JPsi: " << jPsi;
1485  if (jPsi == nullptr)
1486  continue;
1487  if (!npJPsiBasicSelect->accept(*jPsi))
1488  continue;
1489  if (!npJPsiDaughterSelect->accept(*jPsi))
1490  continue;
1491  const pat::CompositeCandidate* kx0 = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToKx0");
1492  LogTrace("DataDump") << "Kx0: " << kx0;
1493  if (kx0 == nullptr)
1494  continue;
1496  // bdIJPsiDaughterSelect->accept( *jPsi ) &&
1497  bdIVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1498  fillHisto("DIBd", cand, 'f');
1499  fillHisto("DIBdJPsi", *jPsi, 'c');
1500  fillHisto("DIBdKx0", *kx0, 'c');
1501  if (flag_Dimuon25_Jpsi) {
1502  fillHisto("TIBd", cand, 'f');
1503  fillHisto("TIBdJPsi", *jPsi, 'c');
1504  fillHisto("TIBdKx0", *kx0, 'c');
1505  *ofMap["InclusiveBd"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1506  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1507  }
1508  }
1510  // bdDJPsiDaughterSelect->accept( *jPsi ) &&
1511  bdDVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1512  fillHisto("DDBd", cand, 'f');
1513  fillHisto("DDBdJPsi", *jPsi, 'c');
1514  fillHisto("DDBdKx0", *kx0, 'c');
1515  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1516  fillHisto("TDBd", cand, 'f');
1517  fillHisto("TDBdJPsi", *jPsi, 'c');
1518  fillHisto("TDBdKx0", *kx0, 'c');
1519  *ofMap["DisplacedBd"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1520  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1521  }
1522  }
1523  }
1524 
1526 
1528  int ibs;
1529  int nbs = 0;
1530  if (useBs) {
1531  bsCandsToken.get(ev, bsCands);
1532  nbs = bsCands->size();
1533  }
1534 
1535  for (ibs = 0; ibs < nbs; ++ibs) {
1536  LogTrace("DataDump") << "*********** Bs " << ibs << "/" << nbs << " ***********";
1537  const pat::CompositeCandidate& cand = bsCands->at(ibs);
1538  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1539  LogTrace("DataDump") << "JPsi: " << jPsi;
1540  if (jPsi == nullptr)
1541  continue;
1542  if (!npJPsiBasicSelect->accept(*jPsi))
1543  continue;
1544  if (!npJPsiDaughterSelect->accept(*jPsi))
1545  continue;
1546  const pat::CompositeCandidate* phi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToPhi");
1547  LogTrace("DataDump") << "Phi: " << phi;
1548  if (phi == nullptr)
1549  continue;
1551  // bsIJPsiDaughterSelect->accept( *jPsi ) &&
1552  bsIVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1553  fillHisto("DIBs", cand, 'f');
1554  fillHisto("DIBsJPsi", *jPsi, 'c');
1555  fillHisto("DIBsPhi", *phi, 'c');
1556  if (flag_Dimuon25_Jpsi) {
1557  fillHisto("TIBs", cand, 'f');
1558  fillHisto("TIBsJPsi", *jPsi, 'c');
1559  fillHisto("TIBsPhi", *phi, 'c');
1560  *ofMap["InclusiveBs"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1561  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1562  }
1563  }
1565  // bsDJPsiDaughterSelect->accept( *jPsi ) &&
1566  bsDVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1567  fillHisto("DDBs", cand, 'f');
1568  fillHisto("DDBsJPsi", *jPsi, 'c');
1569  fillHisto("DDBsPhi", *phi, 'c');
1570  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1571  fillHisto("TDBs", cand, 'f');
1572  fillHisto("TDBsJPsi", *jPsi, 'c');
1573  fillHisto("TDBsPhi", *phi, 'c');
1574  *ofMap["DisplacedBs"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1575  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1576  }
1577  }
1578  }
1579 
1581 
1583  int ik0;
1584  int nk0 = 0;
1585  if (useK0) {
1586  k0CandsToken.get(ev, k0Cands);
1587  nk0 = k0Cands->size();
1588  }
1589 
1590  for (ik0 = 0; ik0 < nk0; ++ik0) {
1591  LogTrace("DataDump") << "*********** K0 " << ik0 << "/" << nk0 << " ***********";
1592  const pat::CompositeCandidate& cand = k0Cands->at(ik0);
1593  fillHisto("DK0s", cand, 'f');
1594  *ofMap["K0s"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1595  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1596  }
1597 
1599 
1601  int il0;
1602  int nl0 = 0;
1603  if (useL0) {
1604  l0CandsToken.get(ev, l0Cands);
1605  nl0 = l0Cands->size();
1606  }
1607 
1608  for (il0 = 0; il0 < nl0; ++il0) {
1609  LogTrace("DataDump") << "*********** Lambda0 " << il0 << "/" << nl0 << " ***********";
1610  const pat::CompositeCandidate& cand = l0Cands->at(il0);
1611  fillHisto("DLambda0", cand, 'f');
1612  *ofMap["Lambda0"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1613  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1614  }
1615 
1617 
1619  int ib0;
1620  int nb0 = 0;
1621  if (useB0) {
1622  b0CandsToken.get(ev, b0Cands);
1623  nb0 = b0Cands->size();
1624  }
1625 
1626  // cout << nb0 << ' ' << ev.id().run() << ' ' << ev.id().event();
1627  // if ( nb0 ) cout << " *************************";
1628  // cout << endl;
1629 
1630  for (ib0 = 0; ib0 < nb0; ++ib0) {
1631  LogTrace("DataDump") << "*********** B0 " << ib0 << "/" << nb0 << " ***********";
1632  const pat::CompositeCandidate& cand = b0Cands->at(ib0);
1633  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1634  LogTrace("DataDump") << "JPsi: " << jPsi;
1635  if (jPsi == nullptr)
1636  continue;
1637  if (!npJPsiBasicSelect->accept(*jPsi))
1638  continue;
1639  if (!npJPsiDaughterSelect->accept(*jPsi))
1640  continue;
1641  const pat::CompositeCandidate* k0s = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToK0s");
1642  LogTrace("DataDump") << "K0s: " << k0s;
1643  if (k0s == nullptr)
1644  continue;
1646  // b0IJPsiDaughterSelect->accept( *jPsi ) &&
1647  b0IVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1648  fillHisto("DIB0", cand, 'f');
1649  fillHisto("DIB0JPsi", *jPsi, 'c');
1650  fillHisto("DIB0K0s", *k0s, 'c');
1651  if (flag_Dimuon25_Jpsi) {
1652  fillHisto("TIB0", cand, 'f');
1653  fillHisto("TIB0JPsi", *jPsi, 'c');
1654  fillHisto("TIB0K0s", *k0s, 'c');
1655  *ofMap["InclusiveB0"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1656  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1657  }
1658  }
1660  // b0DJPsiDaughterSelect->accept( *jPsi ) &&
1661  b0DVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1662  fillHisto("DDB0", cand, 'f');
1663  fillHisto("DDB0JPsi", *jPsi, 'c');
1664  fillHisto("DDB0K0s", *k0s, 'c');
1665  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1666  fillHisto("TDB0", cand, 'f');
1667  fillHisto("TDB0JPsi", *jPsi, 'c');
1668  fillHisto("TDB0K0s", *k0s, 'c');
1669  *ofMap["DisplacedB0"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1670  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1671  }
1672  }
1673  }
1674 
1676 
1678  int ilb;
1679  int nlb = 0;
1680  if (useLb) {
1681  lbCandsToken.get(ev, lbCands);
1682  nlb = lbCands->size();
1683  }
1684 
1685  for (ilb = 0; ilb < nlb; ++ilb) {
1686  LogTrace("DataDump") << "*********** Lambdab " << ilb << "/" << nlb << " ***********";
1687  const pat::CompositeCandidate& cand = lbCands->at(ilb);
1688  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1689  LogTrace("DataDump") << "JPsi: " << jPsi;
1690  if (jPsi == nullptr)
1691  continue;
1692  if (!npJPsiBasicSelect->accept(*jPsi))
1693  continue;
1694  if (!npJPsiDaughterSelect->accept(*jPsi))
1695  continue;
1696  const pat::CompositeCandidate* l0 = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToLambda0");
1697  LogTrace("DataDump") << "Lambda0: " << l0;
1698  if (l0 == nullptr)
1699  continue;
1701  // lbIJPsiDaughterSelect->accept( *jPsi ) &&
1702  lbIVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1703  fillHisto("DILambdab", cand, 'f');
1704  fillHisto("DILbJPsi", *jPsi, 'c');
1705  fillHisto("DILbL0", *l0, 'c');
1706  if (flag_Dimuon25_Jpsi) {
1707  fillHisto("TILambdab", cand, 'f');
1708  fillHisto("TILbJPsi", *jPsi, 'c');
1709  fillHisto("TILbL0", *l0, 'c');
1710  *ofMap["InclusiveLambdab"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1711  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1712  }
1713  }
1715  // lbDJPsiDaughterSelect->accept( *jPsi ) &&
1716  lbDVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex"))) {
1717  fillHisto("DDLambdab", cand, 'f');
1718  fillHisto("DDLbJPsi", *jPsi, 'c');
1719  fillHisto("DDLbL0", *l0, 'c');
1720  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1721  fillHisto("TDLambdab", cand, 'f');
1722  fillHisto("TDLbJPsi", *jPsi, 'c');
1723  fillHisto("TDLbL0", *l0, 'c');
1724  *ofMap["DisplacedLambdab"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1725  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1726  }
1727  }
1728  }
1729 
1731 
1733  int ibc;
1734  int nbc = 0;
1735  if (useBc) {
1736  bcCandsToken.get(ev, bcCands);
1737  nbc = bcCands->size();
1738  }
1739 
1740  for (ibc = 0; ibc < nbc; ++ibc) {
1741  LogTrace("DataDump") << "*********** Bc " << ibc << "/" << nbc << " ***********";
1742  const pat::CompositeCandidate& cand = bcCands->at(ibc);
1743  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1744  LogTrace("DataDump") << "JPsi: " << jPsi;
1745  if (jPsi == nullptr)
1746  continue;
1747  // if ( BPHUserData::get( *jPsi, "dca", -1.0 ) < bcJPsiDcaMax ) continue;
1748  if (!npJPsiBasicSelect->accept(*jPsi))
1749  continue;
1750  if (!npJPsiDaughterSelect->accept(*jPsi))
1751  continue;
1752  const reco::Candidate* pptr = BPHDaughters::get(cand, 0.13, 0.14).front();
1753  if (pptr == nullptr)
1754  continue;
1755 
1756  if (bcIBasicSelect->accept(cand) && bcIJPsiBasicSelect->accept(*jPsi) &&
1757  // bcIJPsiDaughterSelect->accept( *jPsi ) &&
1758  bcIJPsiVertexSelect->accept(*jPsi, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1759  bcIVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1760  (pptr->pt() > bcIPiPtMin)) {
1761  fillHisto("DIBc", cand, 'f');
1762  fillHisto("DIBcJPsi", *jPsi, 'c');
1763  if (flag_Dimuon25_Jpsi) {
1764  fillHisto("TIBc", cand, 'f');
1765  fillHisto("TIBcJPsi", *jPsi, 'c');
1766  *ofMap["InclusiveBc"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1767  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1768  }
1769  }
1770  if (bcDBasicSelect->accept(cand) && bcDJPsiBasicSelect->accept(*jPsi) &&
1771  // bcDJPsiDaughterSelect->accept( *jPsi ) &&
1772  bcDVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1773  bcDVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1774  (pptr->pt() > bcDPiPtMin)) {
1775  fillHisto("DDBc", cand, 'f');
1776  fillHisto("DDBcJPsi", *jPsi, 'c');
1777  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1778  fillHisto("TDBc", cand, 'f');
1779  fillHisto("TDBcJPsi", *jPsi, 'c');
1780  *ofMap["DisplacedBc"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1781  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1782  }
1783  }
1784  }
1785 
1787 
1789  int ix3872;
1790  int nx3872 = 0;
1791  if (useX3872) {
1792  x3872CandsToken.get(ev, x3872Cands);
1793  nx3872 = x3872Cands->size();
1794  }
1795 
1796  for (ix3872 = 0; ix3872 < nx3872; ++ix3872) {
1797  LogTrace("DataDump") << "*********** X3872 " << ix3872 << "/" << nx3872 << " ***********";
1798  const pat::CompositeCandidate& cand = x3872Cands->at(ix3872);
1799  const pat::CompositeCandidate* jPsi = BPHUserData::getByRef<pat::CompositeCandidate>(cand, "refToJPsi");
1800  LogTrace("DataDump") << "JPsi: " << jPsi;
1801  if (jPsi == nullptr)
1802  continue;
1803  // if ( BPHUserData::get( *jPsi, "dca", -1.0 ) < x3872JPsiDcaMax ) continue;
1804  if (!npJPsiBasicSelect->accept(*jPsi))
1805  continue;
1806  if (!npJPsiDaughterSelect->accept(*jPsi))
1807  continue;
1808  const reco::Candidate* ppt1 = BPHDaughters::get(cand, 0.13, 0.14)[0];
1809  const reco::Candidate* ppt2 = BPHDaughters::get(cand, 0.13, 0.14)[1];
1810  if (ppt1 == nullptr)
1811  continue;
1812  if (ppt2 == nullptr)
1813  continue;
1815  // x3872IJPsiDaughterSelect->accept( *jPsi ) &&
1816  x3872IJPsiVertexSelect->accept(*jPsi, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1817  x3872IVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1818  (ppt1->pt() > x3872IPiPtMin) && (ppt2->pt() > x3872IPiPtMin)) {
1819  fillHisto("DIX3872", cand, 'f');
1820  fillHisto("DIX3872JPsi", *jPsi, 'c');
1821  if (flag_Dimuon25_Jpsi) {
1822  fillHisto("TIX3872", cand, 'f');
1823  fillHisto("TIX3872JPsi", *jPsi, 'c');
1824  *ofMap["InclusiveX3872"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1825  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1826  }
1827  }
1829  // x3872DJPsiDaughterSelect->accept( *jPsi ) &&
1830  x3872DVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1831  x3872DVertexSelect->accept(cand, BPHUserData::getByRef<reco::Vertex>(*jPsi, "primaryVertex")) &&
1832  (ppt1->pt() > x3872DPiPtMin) && (ppt2->pt() > x3872DPiPtMin)) {
1833  fillHisto("DDX3872", cand, 'f');
1834  fillHisto("DDX3872JPsi", *jPsi, 'c');
1835  if (flag_DoubleMu4_JpsiTrk_Displaced) {
1836  fillHisto("TDX3872", cand, 'f');
1837  fillHisto("TDX3872JPsi", *jPsi, 'c');
1838  *ofMap["DisplacedX3872"] << ev.id().run() << ' ' << ev.id().luminosityBlock() << ' ' << ev.id().event() << ' '
1839  << (cand.hasUserFloat("fitMass") ? cand.userFloat("fitMass") : -1) << endl;
1840  }
1841  }
1842  }
1843 
1844  return;
1845 }
CandidateSelect * bsIJPsiBasicSelect
CandidateSelect * buDVertexSelect
Analysis-level particle class.
CandidateSelect * bsDPhiBasicSelect
CandidateSelect * jPsiBBasicSelect
#define CHK_TRIG(RESULTS, NAMES, INDEX, PATH)
CandidateSelect * bcDVertexSelect
CandidateSelect * x3872IJPsiBasicSelect
CandidateSelect * bcDJPsiBasicSelect
CandidateSelect * bsIBasicSelect
CandidateSelect * bdDKx0BasicSelect
CandidateSelect * lbIJPsiBasicSelect
CandidateSelect * b0DVertexSelect
CandidateSelect * bcIBasicSelect
CandidateSelect * buIJPsiBasicSelect
CandidateSelect * jPsiIBasicSelect
CandidateSelect * bdIKx0BasicSelect
std::vector< std::string > Strings
Definition: TriggerNames.h:58
virtual double pt() const =0
transverse momentum
CandidateSelect * bcDBasicSelect
CandidateSelect * bdDVertexSelect
CandidateSelect * x3872IVertexSelect
CandidateSelect * lbDJPsiBasicSelect
CandidateSelect * psi2BBasicSelect
bool get(const edm::Event &ev, edm::Handle< Obj > &obj)
CandidateSelect * buIBasicSelect
CandidateSelect * bdIJPsiBasicSelect
CandidateSelect * npJPsiDaughterSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bcCandsToken
CandidateSelect * buDBasicSelect
CandidateSelect * lbDVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bdCandsToken
CandidateSelect * b0IBasicSelect
const std::string names[nVars_]
CandidateSelect * b0DBasicSelect
#define LogTrace(id)
CandidateSelect * bsDVertexSelect
CandidateSelect * bsDJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > bsCandsToken
CandidateSelect * bdDJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > lbCandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > x3872CandsToken
CandidateSelect * lbDBasicSelect
CandidateSelect * bsIVertexSelect
virtual bool accept(const pat::CompositeCandidate &cand, const reco::Vertex *pv=nullptr) const =0
CandidateSelect * x3872IBasicSelect
CandidateSelect * oniaDaughterSelect
CandidateSelect * npJPsiBasicSelect
void fillHisto(const std::string &name, const pat::CompositeCandidate &cand, char svType)
CandidateSelect * b0IVertexSelect
CandidateSelect * bdIBasicSelect
BPHTokenWrapper< edm::TriggerResults > trigResultsToken
CandidateSelect * lbIBasicSelect
CandidateSelect * x3872DBasicSelect
static const char *const trigNames[]
Definition: EcalDumpRaw.cc:57
CandidateSelect * x3872IJPsiVertexSelect
CandidateSelect * bsDBasicSelect
CandidateSelect * buDJPsiBasicSelect
CandidateSelect * lbILambda0BasicSelect
bool isValid() const
Definition: HandleBase.h:70
CandidateSelect * b0DJPsiBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > l0CandsToken
CandidateSelect * bdIVertexSelect
CandidateSelect * psi2IBasicSelect
CandidateSelect * upsBBasicSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > k0CandsToken
CandidateSelect * oniaVertexSelect
CandidateSelect * bdDBasicSelect
CandidateSelect * b0IK0sBasicSelect
CandidateSelect * b0IJPsiBasicSelect
static vector< const reco::Candidate * > get(const pat::CompositeCandidate &cand, float massMin, float massMax)
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > b0CandsToken
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > buCandsToken
CandidateSelect * bcIVertexSelect
CandidateSelect * lbIVertexSelect
BPHTokenWrapper< std::vector< pat::CompositeCandidate > > oniaCandsToken
CandidateSelect * lbDLambda0BasicSelect
CandidateSelect * bcIJPsiBasicSelect
CandidateSelect * phiBBasicSelect
CandidateSelect * bcIJPsiVertexSelect
CandidateSelect * x3872DVertexSelect
CandidateSelect * bsIPhiBasicSelect
CandidateSelect * b0DK0sBasicSelect
CandidateSelect * x3872DJPsiBasicSelect
CandidateSelect * buIVertexSelect

◆ beginJob()

void BPHHistoSpecificDecay::beginJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1085 of file BPHHistoSpecificDecay.cc.

References compareTotals::fs, convertSQLiteXML::runNumber, and AlCaHLTBitMon_QueryRunRegistry::string.

1085  {
1086  createHisto("massDIPhi", 50, 0.90, 1.15); // Phi mass inclusive
1087  createHisto("massTIPhi", 50, 0.90, 1.15); // Phi mass inclusive
1088  createHisto("massDBPhi", 50, 0.90, 1.15); // Phi mass barrel
1089  createHisto("massTBPhi", 50, 0.90, 1.15); // Phi mass barrel
1090  createHisto("massDIJPsi", 35, 2.95, 3.30); // JPsi mass inclusive
1091  createHisto("massTIJPsi", 35, 2.95, 3.30); // JPsi mass inclusive
1092  createHisto("massDBJPsi", 35, 2.95, 3.30); // JPsi mass barrel
1093  createHisto("massTBJPsi", 35, 2.95, 3.30); // JPsi mass barrel
1094  createHisto("massDIPsi2", 60, 3.40, 4.00); // Psi2 mass inclusive
1095  createHisto("massTIPsi2", 60, 3.40, 4.00); // Psi2 mass inclusive
1096  createHisto("massDBPsi2", 60, 3.40, 4.00); // Psi2 mass barrel
1097  createHisto("massTBPsi2", 60, 3.40, 4.00); // Psi2 mass barrel
1098  createHisto("massDIUps123", 115, 8.70, 11.0); // Ups mass inclusive
1099  createHisto("massTIUps123", 115, 8.70, 11.0); // Ups mass inclusive
1100  createHisto("massDBUps123", 115, 8.70, 11.0); // Ups mass barrel
1101  createHisto("massTBUps123", 115, 8.70, 11.0); // Ups mass barrel
1102  createHisto("massDIBu", 100, 5.00, 6.00); // Bu mass inclusive
1103  createHisto("massTIBu", 100, 5.00, 6.00); // Bu mass inclusive
1104  createHisto("massDDBu", 100, 5.00, 6.00); // Bu mass displaced
1105  createHisto("massTDBu", 100, 5.00, 6.00); // Bu mass displaced
1106  createHisto("massDIBd", 100, 5.00, 6.00); // Bd mass inclusive
1107  createHisto("massTIBd", 100, 5.00, 6.00); // Bd mass inclusive
1108  createHisto("massDDBd", 100, 5.00, 6.00); // Bd mass displaced
1109  createHisto("massTDBd", 100, 5.00, 6.00); // Bd mass displaced
1110  createHisto("massDIBs", 100, 5.00, 6.00); // Bs mass inclusive
1111  createHisto("massTIBs", 100, 5.00, 6.00); // Bs mass inclusive
1112  createHisto("massDDBs", 100, 5.00, 6.00); // Bs mass displaced
1113  createHisto("massTDBs", 100, 5.00, 6.00); // Bs mass displaced
1114  createHisto("massDIBc", 100, 6.00, 7.00); // Bc mass inclusive
1115  createHisto("massTIBc", 100, 6.00, 7.00); // Bc mass inclusive
1116  createHisto("massDDBc", 100, 6.00, 7.00); // Bc mass displaced
1117  createHisto("massTDBc", 100, 6.00, 7.00); // Bc mass displaced
1118  createHisto("massDIX3872", 40, 3.60, 4.00); // X3872 mass inclusive
1119  createHisto("massTIX3872", 40, 3.60, 4.00); // X3872 mass inclusive
1120  createHisto("massDDX3872", 40, 3.60, 4.00); // X3872 mass displaced
1121  createHisto("massTDX3872", 40, 3.60, 4.00); // X3872 mass displaced
1122  createHisto("mfitDIBu", 100, 5.00, 6.00); // Bu mass, with constr.
1123  createHisto("mfitTIBu", 100, 5.00, 6.00); // Bu mass, with constr.
1124  createHisto("mfitDDBu", 100, 5.00, 6.00); // Bu mass, with constr.
1125  createHisto("mfitTDBu", 100, 5.00, 6.00); // Bu mass, with constr.
1126  createHisto("mfitDIBd", 100, 5.00, 6.00); // Bd mass, with constr.
1127  createHisto("mfitTIBd", 100, 5.00, 6.00); // Bd mass, with constr.
1128  createHisto("mfitDDBd", 100, 5.00, 6.00); // Bd mass, with constr.
1129  createHisto("mfitTDBd", 100, 5.00, 6.00); // Bd mass, with constr.
1130  createHisto("mfitDIBs", 100, 5.00, 6.00); // Bs mass, with constr.
1131  createHisto("mfitTIBs", 100, 5.00, 6.00); // Bs mass, with constr.
1132  createHisto("mfitDDBs", 100, 5.00, 6.00); // Bs mass, with constr.
1133  createHisto("mfitTDBs", 100, 5.00, 6.00); // Bs mass, with constr.
1134  createHisto("mfitDIBc", 100, 6.00, 7.00); // Bc mass, with constr.
1135  createHisto("mfitTIBc", 100, 6.00, 7.00); // Bc mass, with constr.
1136  createHisto("mfitDDBc", 100, 6.00, 7.00); // Bc mass, with constr.
1137  createHisto("mfitTDBc", 100, 6.00, 7.00); // Bc mass, with constr.
1138  createHisto("mfitDIX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1139  createHisto("mfitTIX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1140  createHisto("mfitDDX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1141  createHisto("mfitTDX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1142  createHisto("massDIBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1143  createHisto("massTIBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1144  createHisto("massDDBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1145  createHisto("massTDBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1146  createHisto("massDIBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1147  createHisto("massTIBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1148  createHisto("massDDBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1149  createHisto("massTDBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1150  createHisto("massDIBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1151  createHisto("massTIBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1152  createHisto("massDDBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1153  createHisto("massTDBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1154  createHisto("massDIBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1155  createHisto("massTIBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1156  createHisto("massDDBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1157  createHisto("massTDBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1158  createHisto("massDIBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1159  createHisto("massTIBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1160  createHisto("massDDBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1161  createHisto("massTDBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1162  createHisto("massDIBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1163  createHisto("massTIBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1164  createHisto("massDDBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1165  createHisto("massTDBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1166  createHisto("massDIX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1167  createHisto("massTIX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1168  createHisto("massDDX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1169  createHisto("massTDX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1170  createHisto("massDK0s", 50, 0.40, 0.60); // K0s mass
1171  createHisto("mfitDK0s", 50, 0.40, 0.60); // K0s mass
1172  createHisto("massDLambda0", 60, 1.00, 1.30); // Lambda0 mass
1173  createHisto("mfitDLambda0", 60, 1.00, 1.30); // Lambda0 mass
1174  createHisto("massDIB0", 50, 5.00, 6.00); // B0 mass inclusive
1175  createHisto("massTIB0", 50, 5.00, 6.00); // B0 mass inclusive
1176  createHisto("massDDB0", 50, 5.00, 6.00); // B0 mass displaced
1177  createHisto("massTDB0", 50, 5.00, 6.00); // B0 mass displaced
1178  createHisto("mfitDIB0", 50, 5.00, 6.00); // B0 mass, with constr.
1179  createHisto("mfitTIB0", 50, 5.00, 6.00); // B0 mass, with constr.
1180  createHisto("mfitDDB0", 50, 5.00, 6.00); // B0 mass, with constr.
1181  createHisto("mfitTDB0", 50, 5.00, 6.00); // B0 mass, with constr.
1182  createHisto("massDIB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1183  createHisto("massTIB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1184  createHisto("massDDB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1185  createHisto("massTDB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1186  createHisto("massDIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1187  createHisto("massTIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1188  createHisto("massDDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1189  createHisto("massTDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1190  createHisto("mfitDIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1191  createHisto("mfitTIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1192  createHisto("mfitDDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1193  createHisto("mfitTDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1194  createHisto("massDILambdab", 25, 5.00, 6.00); // Lambdab mass inclusive
1195  createHisto("massTILambdab", 25, 5.00, 6.00); // Lambdab mass inclusive
1196  createHisto("massDDLambdab", 25, 5.00, 6.00); // Lambdab mass displaced
1197  createHisto("massTDLambdab", 25, 5.00, 6.00); // Lambdab mass displaced
1198  createHisto("mfitDILambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1199  createHisto("mfitTILambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1200  createHisto("mfitDDLambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1201  createHisto("mfitTDLambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1202  createHisto("massDILbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1203  createHisto("massTILbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1204  createHisto("massDDLbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1205  createHisto("massTDLbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1206  createHisto("massDILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1207  createHisto("massTILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1208  createHisto("massDDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1209  createHisto("massTDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1210  createHisto("mfitDILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1211  createHisto("mfitTILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1212  createHisto("mfitDDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1213  createHisto("mfitTDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1214 
1215  createHisto("massFull", 200, 2.00, 12.0); // Full onia mass
1216 
1217  createHisto("ctauDIJPsi", 60, -0.05, 0.25); // JPsi ctau inclusive
1218  createHisto("ctauTIJPsi", 60, -0.05, 0.25); // JPsi ctau inclusive
1219  createHisto("ctauDBJPsi", 60, -0.05, 0.25); // JPsi ctau barrel
1220  createHisto("ctauTBJPsi", 60, -0.05, 0.25); // JPsi ctau barrel
1221  createHisto("ctauDIBu", 60, -0.05, 0.25); // Bu ctau inclusive
1222  createHisto("ctauTIBu", 60, -0.05, 0.25); // Bu ctau inclusive
1223  createHisto("ctauDDBu", 60, -0.05, 0.25); // Bu ctau displaced
1224  createHisto("ctauTDBu", 60, -0.05, 0.25); // Bu ctau displaced
1225  createHisto("ctauDIBd", 60, -0.05, 0.25); // Bd ctau inclusive
1226  createHisto("ctauTIBd", 60, -0.05, 0.25); // Bd ctau inclusive
1227  createHisto("ctauDDBd", 60, -0.05, 0.25); // Bd ctau displaced
1228  createHisto("ctauTDBd", 60, -0.05, 0.25); // Bd ctau displaced
1229  createHisto("ctauDIBs", 60, -0.05, 0.25); // Bs ctau inclusive
1230  createHisto("ctauTIBs", 60, -0.05, 0.25); // Bs ctau inclusive
1231  createHisto("ctauDDBs", 60, -0.05, 0.25); // Bs ctau displaced
1232  createHisto("ctauTDBs", 60, -0.05, 0.25); // Bs ctau displaced
1233  createHisto("ctauDIB0", 60, -0.05, 0.25); // B0 ctau inclusive
1234  createHisto("ctauTIB0", 60, -0.05, 0.25); // B0 ctau inclusive
1235  createHisto("ctauDDB0", 60, -0.05, 0.25); // B0 ctau displaced
1236  createHisto("ctauTDB0", 60, -0.05, 0.25); // B0 ctau displaced
1237  createHisto("ctauDILambdab", 60, -0.05, 0.25); // Lambdab ctau inclusive
1238  createHisto("ctauTILambdab", 60, -0.05, 0.25); // Lambdab ctau inclusive
1239  createHisto("ctauDDLambdab", 60, -0.05, 0.25); // Lambdab ctau displaced
1240  createHisto("ctauTDLambdab", 60, -0.05, 0.25); // Lambdab ctau displaced
1241 
1242  recoName = new string;
1243  tree = fs->make<TTree>("BPHReco", "BPHReco");
1244  b_runNumber = tree->Branch("runNumber", &runNumber, "runNumber/i");
1245  b_lumiSection = tree->Branch("lumiSection", &lumiSection, "lumiSection/i");
1246  b_eventNumber = tree->Branch("eventNumber", &eventNumber, "eventNumber/i");
1247  b_recoName = tree->Branch("recoName", &recoName, 8192, 99);
1248  b_recoMass = tree->Branch("recoMass", &recoMass, "recoMass/F");
1249  b_recoTime = tree->Branch("recoTime", &recoTime, "recoTime/F");
1250  b_recoErrT = tree->Branch("recoErrT", &recoErrT, "recoErrT/F");
1251 
1252  return;
1253 }
void createHisto(const std::string &name, int nbin, float hmin, float hmax)
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
Definition: tree.py:1
edm::Service< TFileService > fs

◆ createHisto()

void BPHHistoSpecificDecay::createHisto ( const std::string &  name,
int  nbin,
float  hmin,
float  hmax 
)
private

Definition at line 1910 of file BPHHistoSpecificDecay.cc.

References compareTotals::fs, and Skims_PA_cff::name.

1910  {
1911  histoMap[name] = fs->make<TH1F>(name.c_str(), name.c_str(), nbin, hmin, hmax);
1912  return;
1913 }
std::map< std::string, TH1F * > histoMap
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs

◆ endJob()

void BPHHistoSpecificDecay::endJob ( void  )
overridevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 1847 of file BPHHistoSpecificDecay.cc.

1847  {
1848  // tree->Write();
1849  return;
1850 }

◆ fillDescriptions()

void BPHHistoSpecificDecay::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 1066 of file BPHHistoSpecificDecay.cc.

References edm::ConfigurationDescriptions::add(), and submitPVResolutionJobs::desc.

1066  {
1068  desc.add<string>("trigResultsLabel", "");
1069  desc.add<string>("oniaCandsLabel", "");
1070  desc.add<string>("sdCandsLabel", "");
1071  desc.add<string>("ssCandsLabel", "");
1072  desc.add<string>("buCandsLabel", "");
1073  desc.add<string>("bdCandsLabel", "");
1074  desc.add<string>("bsCandsLabel", "");
1075  desc.add<string>("k0CandsLabel", "");
1076  desc.add<string>("l0CandsLabel", "");
1077  desc.add<string>("b0CandsLabel", "");
1078  desc.add<string>("lbCandsLabel", "");
1079  desc.add<string>("bcCandsLabel", "");
1080  desc.add<string>("x3872CandsLabel", "");
1081  descriptions.add("process.bphHistoSpecificDecay", desc);
1082  return;
1083 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ fillHisto() [1/2]

void BPHHistoSpecificDecay::fillHisto ( const std::string &  name,
const pat::CompositeCandidate cand,
char  svType 
)
private

◆ fillHisto() [2/2]

void BPHHistoSpecificDecay::fillHisto ( const std::string &  name,
float  x 
)
private

Member Data Documentation

◆ b0CandsLabel

std::string BPHHistoSpecificDecay::b0CandsLabel
private

Definition at line 53 of file BPHHistoSpecificDecay.h.

◆ b0CandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::b0CandsToken
private

Definition at line 66 of file BPHHistoSpecificDecay.h.

◆ b0DBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0DBasicSelect
private

Definition at line 152 of file BPHHistoSpecificDecay.h.

◆ b0DJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0DJPsiBasicSelect
private

Definition at line 153 of file BPHHistoSpecificDecay.h.

◆ b0DJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::b0DJPsiDaughterSelect
private

Definition at line 156 of file BPHHistoSpecificDecay.h.

◆ b0DK0sBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0DK0sBasicSelect
private

Definition at line 154 of file BPHHistoSpecificDecay.h.

◆ b0DVertexSelect

CandidateSelect* BPHHistoSpecificDecay::b0DVertexSelect
private

Definition at line 155 of file BPHHistoSpecificDecay.h.

◆ b0IBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0IBasicSelect
private

Definition at line 147 of file BPHHistoSpecificDecay.h.

◆ b0IJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0IJPsiBasicSelect
private

Definition at line 148 of file BPHHistoSpecificDecay.h.

◆ b0IJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::b0IJPsiDaughterSelect
private

Definition at line 151 of file BPHHistoSpecificDecay.h.

◆ b0IK0sBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0IK0sBasicSelect
private

Definition at line 149 of file BPHHistoSpecificDecay.h.

◆ b0IVertexSelect

CandidateSelect* BPHHistoSpecificDecay::b0IVertexSelect
private

Definition at line 150 of file BPHHistoSpecificDecay.h.

◆ b_eventNumber

TBranch* BPHHistoSpecificDecay::b_eventNumber
private

Definition at line 96 of file BPHHistoSpecificDecay.h.

◆ b_lumiSection

TBranch* BPHHistoSpecificDecay::b_lumiSection
private

Definition at line 95 of file BPHHistoSpecificDecay.h.

◆ b_recoErrT

TBranch* BPHHistoSpecificDecay::b_recoErrT
private

Definition at line 100 of file BPHHistoSpecificDecay.h.

◆ b_recoMass

TBranch* BPHHistoSpecificDecay::b_recoMass
private

Definition at line 98 of file BPHHistoSpecificDecay.h.

◆ b_recoName

TBranch* BPHHistoSpecificDecay::b_recoName
private

Definition at line 97 of file BPHHistoSpecificDecay.h.

◆ b_recoTime

TBranch* BPHHistoSpecificDecay::b_recoTime
private

Definition at line 99 of file BPHHistoSpecificDecay.h.

◆ b_runNumber

TBranch* BPHHistoSpecificDecay::b_runNumber
private

Definition at line 94 of file BPHHistoSpecificDecay.h.

◆ bcCandsLabel

std::string BPHHistoSpecificDecay::bcCandsLabel
private

Definition at line 55 of file BPHHistoSpecificDecay.h.

◆ bcCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::bcCandsToken
private

Definition at line 68 of file BPHHistoSpecificDecay.h.

◆ bcDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcDBasicSelect
private

Definition at line 174 of file BPHHistoSpecificDecay.h.

◆ bcDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcDJPsiBasicSelect
private

Definition at line 175 of file BPHHistoSpecificDecay.h.

◆ bcDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bcDJPsiDaughterSelect
private

Definition at line 178 of file BPHHistoSpecificDecay.h.

◆ bcDJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcDJPsiVertexSelect
private

Definition at line 176 of file BPHHistoSpecificDecay.h.

◆ bcDPiPtMin

double BPHHistoSpecificDecay::bcDPiPtMin
private

Definition at line 194 of file BPHHistoSpecificDecay.h.

◆ bcDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcDVertexSelect
private

Definition at line 177 of file BPHHistoSpecificDecay.h.

◆ bcIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcIBasicSelect
private

Definition at line 169 of file BPHHistoSpecificDecay.h.

◆ bcIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcIJPsiBasicSelect
private

Definition at line 170 of file BPHHistoSpecificDecay.h.

◆ bcIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bcIJPsiDaughterSelect
private

Definition at line 173 of file BPHHistoSpecificDecay.h.

◆ bcIJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcIJPsiVertexSelect
private

Definition at line 171 of file BPHHistoSpecificDecay.h.

◆ bcIPiPtMin

double BPHHistoSpecificDecay::bcIPiPtMin
private

Definition at line 193 of file BPHHistoSpecificDecay.h.

◆ bcIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcIVertexSelect
private

Definition at line 172 of file BPHHistoSpecificDecay.h.

◆ bcJPsiDcaMax

double BPHHistoSpecificDecay::bcJPsiDcaMax
private

Definition at line 197 of file BPHHistoSpecificDecay.h.

◆ bdCandsLabel

std::string BPHHistoSpecificDecay::bdCandsLabel
private

Definition at line 49 of file BPHHistoSpecificDecay.h.

◆ bdCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::bdCandsToken
private

Definition at line 62 of file BPHHistoSpecificDecay.h.

◆ bdDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdDBasicSelect
private

Definition at line 130 of file BPHHistoSpecificDecay.h.

◆ bdDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdDJPsiBasicSelect
private

Definition at line 131 of file BPHHistoSpecificDecay.h.

◆ bdDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bdDJPsiDaughterSelect
private

Definition at line 134 of file BPHHistoSpecificDecay.h.

◆ bdDKx0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdDKx0BasicSelect
private

Definition at line 132 of file BPHHistoSpecificDecay.h.

◆ bdDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bdDVertexSelect
private

Definition at line 133 of file BPHHistoSpecificDecay.h.

◆ bdIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdIBasicSelect
private

Definition at line 125 of file BPHHistoSpecificDecay.h.

◆ bdIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdIJPsiBasicSelect
private

Definition at line 126 of file BPHHistoSpecificDecay.h.

◆ bdIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bdIJPsiDaughterSelect
private

Definition at line 129 of file BPHHistoSpecificDecay.h.

◆ bdIKx0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdIKx0BasicSelect
private

Definition at line 127 of file BPHHistoSpecificDecay.h.

◆ bdIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bdIVertexSelect
private

Definition at line 128 of file BPHHistoSpecificDecay.h.

◆ bsCandsLabel

std::string BPHHistoSpecificDecay::bsCandsLabel
private

Definition at line 50 of file BPHHistoSpecificDecay.h.

◆ bsCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::bsCandsToken
private

Definition at line 63 of file BPHHistoSpecificDecay.h.

◆ bsDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsDBasicSelect
private

Definition at line 141 of file BPHHistoSpecificDecay.h.

◆ bsDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsDJPsiBasicSelect
private

Definition at line 142 of file BPHHistoSpecificDecay.h.

◆ bsDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bsDJPsiDaughterSelect
private

Definition at line 145 of file BPHHistoSpecificDecay.h.

◆ bsDPhiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsDPhiBasicSelect
private

Definition at line 143 of file BPHHistoSpecificDecay.h.

◆ bsDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bsDVertexSelect
private

Definition at line 144 of file BPHHistoSpecificDecay.h.

◆ bsIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsIBasicSelect
private

Definition at line 136 of file BPHHistoSpecificDecay.h.

◆ bsIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsIJPsiBasicSelect
private

Definition at line 137 of file BPHHistoSpecificDecay.h.

◆ bsIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bsIJPsiDaughterSelect
private

Definition at line 140 of file BPHHistoSpecificDecay.h.

◆ bsIPhiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsIPhiBasicSelect
private

Definition at line 138 of file BPHHistoSpecificDecay.h.

◆ bsIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bsIVertexSelect
private

Definition at line 139 of file BPHHistoSpecificDecay.h.

◆ buCandsLabel

std::string BPHHistoSpecificDecay::buCandsLabel
private

Definition at line 48 of file BPHHistoSpecificDecay.h.

◆ buCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::buCandsToken
private

Definition at line 61 of file BPHHistoSpecificDecay.h.

◆ buDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buDBasicSelect
private

Definition at line 120 of file BPHHistoSpecificDecay.h.

◆ buDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buDJPsiBasicSelect
private

Definition at line 121 of file BPHHistoSpecificDecay.h.

◆ buDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::buDJPsiDaughterSelect
private

Definition at line 123 of file BPHHistoSpecificDecay.h.

◆ buDKPtMin

double BPHHistoSpecificDecay::buDKPtMin
private

Definition at line 192 of file BPHHistoSpecificDecay.h.

◆ buDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::buDVertexSelect
private

Definition at line 122 of file BPHHistoSpecificDecay.h.

◆ buIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buIBasicSelect
private

Definition at line 116 of file BPHHistoSpecificDecay.h.

◆ buIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buIJPsiBasicSelect
private

Definition at line 117 of file BPHHistoSpecificDecay.h.

◆ buIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::buIJPsiDaughterSelect
private

Definition at line 119 of file BPHHistoSpecificDecay.h.

◆ buIKPtMin

double BPHHistoSpecificDecay::buIKPtMin
private

Definition at line 191 of file BPHHistoSpecificDecay.h.

◆ buIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::buIVertexSelect
private

Definition at line 118 of file BPHHistoSpecificDecay.h.

◆ eventNumber

unsigned int BPHHistoSpecificDecay::eventNumber
private

Definition at line 89 of file BPHHistoSpecificDecay.h.

◆ fs

edm::Service<TFileService> BPHHistoSpecificDecay::fs
private

Definition at line 84 of file BPHHistoSpecificDecay.h.

◆ histoMap

std::map<std::string, TH1F*> BPHHistoSpecificDecay::histoMap
private

Definition at line 85 of file BPHHistoSpecificDecay.h.

◆ jPsiBBasicSelect

CandidateSelect* BPHHistoSpecificDecay::jPsiBBasicSelect
private

Definition at line 107 of file BPHHistoSpecificDecay.h.

◆ jPsiIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::jPsiIBasicSelect
private

Definition at line 103 of file BPHHistoSpecificDecay.h.

◆ k0CandsLabel

std::string BPHHistoSpecificDecay::k0CandsLabel
private

Definition at line 51 of file BPHHistoSpecificDecay.h.

◆ k0CandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::k0CandsToken
private

Definition at line 64 of file BPHHistoSpecificDecay.h.

◆ l0CandsLabel

std::string BPHHistoSpecificDecay::l0CandsLabel
private

Definition at line 52 of file BPHHistoSpecificDecay.h.

◆ l0CandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::l0CandsToken
private

Definition at line 65 of file BPHHistoSpecificDecay.h.

◆ lbCandsLabel

std::string BPHHistoSpecificDecay::lbCandsLabel
private

Definition at line 54 of file BPHHistoSpecificDecay.h.

◆ lbCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::lbCandsToken
private

Definition at line 67 of file BPHHistoSpecificDecay.h.

◆ lbDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbDBasicSelect
private

Definition at line 163 of file BPHHistoSpecificDecay.h.

◆ lbDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbDJPsiBasicSelect
private

Definition at line 164 of file BPHHistoSpecificDecay.h.

◆ lbDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::lbDJPsiDaughterSelect
private

Definition at line 167 of file BPHHistoSpecificDecay.h.

◆ lbDLambda0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbDLambda0BasicSelect
private

Definition at line 165 of file BPHHistoSpecificDecay.h.

◆ lbDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::lbDVertexSelect
private

Definition at line 166 of file BPHHistoSpecificDecay.h.

◆ lbIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbIBasicSelect
private

Definition at line 158 of file BPHHistoSpecificDecay.h.

◆ lbIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbIJPsiBasicSelect
private

Definition at line 159 of file BPHHistoSpecificDecay.h.

◆ lbIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::lbIJPsiDaughterSelect
private

Definition at line 162 of file BPHHistoSpecificDecay.h.

◆ lbILambda0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbILambda0BasicSelect
private

Definition at line 160 of file BPHHistoSpecificDecay.h.

◆ lbIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::lbIVertexSelect
private

Definition at line 161 of file BPHHistoSpecificDecay.h.

◆ lumiSection

unsigned int BPHHistoSpecificDecay::lumiSection
private

Definition at line 88 of file BPHHistoSpecificDecay.h.

◆ npJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::npJPsiBasicSelect
private

Definition at line 113 of file BPHHistoSpecificDecay.h.

◆ npJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::npJPsiDaughterSelect
private

Definition at line 114 of file BPHHistoSpecificDecay.h.

◆ oniaCandsLabel

std::string BPHHistoSpecificDecay::oniaCandsLabel
private

Definition at line 45 of file BPHHistoSpecificDecay.h.

◆ oniaCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::oniaCandsToken
private

Definition at line 58 of file BPHHistoSpecificDecay.h.

◆ oniaDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::oniaDaughterSelect
private

Definition at line 111 of file BPHHistoSpecificDecay.h.

◆ oniaVertexSelect

CandidateSelect* BPHHistoSpecificDecay::oniaVertexSelect
private

Definition at line 110 of file BPHHistoSpecificDecay.h.

◆ phiBBasicSelect

CandidateSelect* BPHHistoSpecificDecay::phiBBasicSelect
private

Definition at line 106 of file BPHHistoSpecificDecay.h.

◆ phiIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::phiIBasicSelect
private

Definition at line 102 of file BPHHistoSpecificDecay.h.

◆ psi2BBasicSelect

CandidateSelect* BPHHistoSpecificDecay::psi2BBasicSelect
private

Definition at line 108 of file BPHHistoSpecificDecay.h.

◆ psi2IBasicSelect

CandidateSelect* BPHHistoSpecificDecay::psi2IBasicSelect
private

Definition at line 104 of file BPHHistoSpecificDecay.h.

◆ recoErrT

float BPHHistoSpecificDecay::recoErrT
private

Definition at line 93 of file BPHHistoSpecificDecay.h.

◆ recoMass

float BPHHistoSpecificDecay::recoMass
private

Definition at line 91 of file BPHHistoSpecificDecay.h.

◆ recoName

std::string* BPHHistoSpecificDecay::recoName
private

Definition at line 90 of file BPHHistoSpecificDecay.h.

◆ recoTime

float BPHHistoSpecificDecay::recoTime
private

Definition at line 92 of file BPHHistoSpecificDecay.h.

◆ runNumber

unsigned int BPHHistoSpecificDecay::runNumber
private

Definition at line 87 of file BPHHistoSpecificDecay.h.

◆ sdCandsLabel

std::string BPHHistoSpecificDecay::sdCandsLabel
private

Definition at line 46 of file BPHHistoSpecificDecay.h.

◆ sdCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::sdCandsToken
private

Definition at line 59 of file BPHHistoSpecificDecay.h.

◆ ssCandsLabel

std::string BPHHistoSpecificDecay::ssCandsLabel
private

Definition at line 47 of file BPHHistoSpecificDecay.h.

◆ ssCandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::ssCandsToken
private

Definition at line 60 of file BPHHistoSpecificDecay.h.

◆ tree

TTree* BPHHistoSpecificDecay::tree
private

◆ trigResultsLabel

std::string BPHHistoSpecificDecay::trigResultsLabel
private

Definition at line 44 of file BPHHistoSpecificDecay.h.

◆ trigResultsToken

BPHTokenWrapper<edm::TriggerResults> BPHHistoSpecificDecay::trigResultsToken
private

Definition at line 57 of file BPHHistoSpecificDecay.h.

◆ upsBBasicSelect

CandidateSelect* BPHHistoSpecificDecay::upsBBasicSelect
private

Definition at line 109 of file BPHHistoSpecificDecay.h.

◆ upsIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::upsIBasicSelect
private

Definition at line 105 of file BPHHistoSpecificDecay.h.

◆ useB0

bool BPHHistoSpecificDecay::useB0
private

Definition at line 79 of file BPHHistoSpecificDecay.h.

◆ useBc

bool BPHHistoSpecificDecay::useBc
private

Definition at line 81 of file BPHHistoSpecificDecay.h.

◆ useBd

bool BPHHistoSpecificDecay::useBd
private

Definition at line 75 of file BPHHistoSpecificDecay.h.

◆ useBs

bool BPHHistoSpecificDecay::useBs
private

Definition at line 76 of file BPHHistoSpecificDecay.h.

◆ useBu

bool BPHHistoSpecificDecay::useBu
private

Definition at line 74 of file BPHHistoSpecificDecay.h.

◆ useK0

bool BPHHistoSpecificDecay::useK0
private

Definition at line 77 of file BPHHistoSpecificDecay.h.

◆ useL0

bool BPHHistoSpecificDecay::useL0
private

Definition at line 78 of file BPHHistoSpecificDecay.h.

◆ useLb

bool BPHHistoSpecificDecay::useLb
private

Definition at line 80 of file BPHHistoSpecificDecay.h.

◆ useOnia

bool BPHHistoSpecificDecay::useOnia
private

Definition at line 71 of file BPHHistoSpecificDecay.h.

◆ useSd

bool BPHHistoSpecificDecay::useSd
private

Definition at line 72 of file BPHHistoSpecificDecay.h.

◆ useSs

bool BPHHistoSpecificDecay::useSs
private

Definition at line 73 of file BPHHistoSpecificDecay.h.

◆ useTrig

bool BPHHistoSpecificDecay::useTrig
private

Definition at line 70 of file BPHHistoSpecificDecay.h.

◆ useX3872

bool BPHHistoSpecificDecay::useX3872
private

Definition at line 82 of file BPHHistoSpecificDecay.h.

◆ x3872CandsLabel

std::string BPHHistoSpecificDecay::x3872CandsLabel
private

Definition at line 56 of file BPHHistoSpecificDecay.h.

◆ x3872CandsToken

BPHTokenWrapper<std::vector<pat::CompositeCandidate> > BPHHistoSpecificDecay::x3872CandsToken
private

Definition at line 69 of file BPHHistoSpecificDecay.h.

◆ x3872DBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DBasicSelect
private

Definition at line 185 of file BPHHistoSpecificDecay.h.

◆ x3872DJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DJPsiBasicSelect
private

Definition at line 186 of file BPHHistoSpecificDecay.h.

◆ x3872DJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DJPsiDaughterSelect
private

Definition at line 189 of file BPHHistoSpecificDecay.h.

◆ x3872DJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DJPsiVertexSelect
private

Definition at line 187 of file BPHHistoSpecificDecay.h.

◆ x3872DPiPtMin

double BPHHistoSpecificDecay::x3872DPiPtMin
private

Definition at line 196 of file BPHHistoSpecificDecay.h.

◆ x3872DVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DVertexSelect
private

Definition at line 188 of file BPHHistoSpecificDecay.h.

◆ x3872IBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IBasicSelect
private

Definition at line 180 of file BPHHistoSpecificDecay.h.

◆ x3872IJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IJPsiBasicSelect
private

Definition at line 181 of file BPHHistoSpecificDecay.h.

◆ x3872IJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IJPsiDaughterSelect
private

Definition at line 184 of file BPHHistoSpecificDecay.h.

◆ x3872IJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IJPsiVertexSelect
private

Definition at line 182 of file BPHHistoSpecificDecay.h.

◆ x3872IPiPtMin

double BPHHistoSpecificDecay::x3872IPiPtMin
private

Definition at line 195 of file BPHHistoSpecificDecay.h.

◆ x3872IVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IVertexSelect
private

Definition at line 183 of file BPHHistoSpecificDecay.h.

◆ x3872JPsiDcaMax

double BPHHistoSpecificDecay::x3872JPsiDcaMax
private

Definition at line 198 of file BPHHistoSpecificDecay.h.