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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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)
 
void esConsume (BPHESTokenWrapper< Obj, Rec > &tw)
 
void esConsume (BPHESTokenWrapper< Obj, Rec > &tw, const std::string &label)
 
void esConsume (BPHESTokenWrapper< Obj, Rec > &tw, const edm::ESInputTag &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 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 28 of file BPHHistoSpecificDecay.h.

Constructor & Destructor Documentation

◆ BPHHistoSpecificDecay()

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

Definition at line 390 of file BPHHistoSpecificDecay.cc.

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

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

1009  {
1010  delete phiIBasicSelect;
1011  delete phiBBasicSelect;
1012  delete jPsiIBasicSelect;
1013  delete jPsiBBasicSelect;
1014  delete psi2IBasicSelect;
1015  delete psi2BBasicSelect;
1016  delete upsIBasicSelect;
1017  delete upsBBasicSelect;
1018  delete oniaVertexSelect;
1019  delete oniaDaughterSelect;
1020 
1021  delete npJPsiBasicSelect;
1022  delete npJPsiDaughterSelect;
1023 
1024  delete buIBasicSelect;
1025  delete buIJPsiBasicSelect;
1026  delete buIVertexSelect;
1027  delete buIJPsiDaughterSelect;
1028  delete buDBasicSelect;
1029  delete buDJPsiBasicSelect;
1030  delete buDVertexSelect;
1031  delete buDJPsiDaughterSelect;
1032 
1033  delete bdIBasicSelect;
1034  delete bdIJPsiBasicSelect;
1035  delete bdIKx0BasicSelect;
1036  delete bdIVertexSelect;
1037  delete bdIJPsiDaughterSelect;
1038  delete bdDBasicSelect;
1039  delete bdDJPsiBasicSelect;
1040  delete bdDKx0BasicSelect;
1041  delete bdDVertexSelect;
1042  delete bdDJPsiDaughterSelect;
1043 
1044  delete bsIBasicSelect;
1045  delete bsIJPsiBasicSelect;
1046  delete bsIPhiBasicSelect;
1047  delete bsIVertexSelect;
1048  delete bsIJPsiDaughterSelect;
1049  delete bsDBasicSelect;
1050  delete bsDJPsiBasicSelect;
1051  delete bsDPhiBasicSelect;
1052  delete bsDVertexSelect;
1053  delete bsDJPsiDaughterSelect;
1054 
1055  delete b0IBasicSelect;
1056  delete b0IJPsiBasicSelect;
1057  delete b0IK0sBasicSelect;
1058  delete b0IVertexSelect;
1059  delete b0IJPsiDaughterSelect;
1060  delete b0DBasicSelect;
1061  delete b0DJPsiBasicSelect;
1062  delete b0DK0sBasicSelect;
1063  delete b0DVertexSelect;
1064  delete b0DJPsiDaughterSelect;
1065 
1066  delete lbIBasicSelect;
1067  delete lbIJPsiBasicSelect;
1068  delete lbILambda0BasicSelect;
1069  delete lbIVertexSelect;
1070  delete lbIJPsiDaughterSelect;
1071  delete lbDBasicSelect;
1072  delete lbDJPsiBasicSelect;
1073  delete lbDLambda0BasicSelect;
1074  delete lbDVertexSelect;
1075  delete lbDJPsiDaughterSelect;
1076 
1077  delete bcIBasicSelect;
1078  delete bcIJPsiBasicSelect;
1079  delete bcIJPsiVertexSelect;
1080  delete bcIVertexSelect;
1081  delete bcIJPsiDaughterSelect;
1082  delete bcDBasicSelect;
1083  delete bcDJPsiBasicSelect;
1084  delete bcDJPsiVertexSelect;
1085  delete bcDVertexSelect;
1086  delete bcDJPsiDaughterSelect;
1087 
1088  delete x3872IBasicSelect;
1089  delete x3872IJPsiBasicSelect;
1090  delete x3872IJPsiVertexSelect;
1091  delete x3872IVertexSelect;
1092  delete x3872IJPsiDaughterSelect;
1093  delete x3872DBasicSelect;
1094  delete x3872DJPsiBasicSelect;
1095  delete x3872DJPsiVertexSelect;
1096  delete x3872DVertexSelect;
1097  delete x3872DJPsiDaughterSelect;
1098 }
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 1289 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.

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

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

1119  {
1120  createHisto("massDIPhi", 50, 0.90, 1.15); // Phi mass inclusive
1121  createHisto("massTIPhi", 50, 0.90, 1.15); // Phi mass inclusive
1122  createHisto("massDBPhi", 50, 0.90, 1.15); // Phi mass barrel
1123  createHisto("massTBPhi", 50, 0.90, 1.15); // Phi mass barrel
1124  createHisto("massDIJPsi", 35, 2.95, 3.30); // JPsi mass inclusive
1125  createHisto("massTIJPsi", 35, 2.95, 3.30); // JPsi mass inclusive
1126  createHisto("massDBJPsi", 35, 2.95, 3.30); // JPsi mass barrel
1127  createHisto("massTBJPsi", 35, 2.95, 3.30); // JPsi mass barrel
1128  createHisto("massDIPsi2", 60, 3.40, 4.00); // Psi2 mass inclusive
1129  createHisto("massTIPsi2", 60, 3.40, 4.00); // Psi2 mass inclusive
1130  createHisto("massDBPsi2", 60, 3.40, 4.00); // Psi2 mass barrel
1131  createHisto("massTBPsi2", 60, 3.40, 4.00); // Psi2 mass barrel
1132  createHisto("massDIUps123", 115, 8.70, 11.0); // Ups mass inclusive
1133  createHisto("massTIUps123", 115, 8.70, 11.0); // Ups mass inclusive
1134  createHisto("massDBUps123", 115, 8.70, 11.0); // Ups mass barrel
1135  createHisto("massTBUps123", 115, 8.70, 11.0); // Ups mass barrel
1136  createHisto("massDIBu", 100, 5.00, 6.00); // Bu mass inclusive
1137  createHisto("massTIBu", 100, 5.00, 6.00); // Bu mass inclusive
1138  createHisto("massDDBu", 100, 5.00, 6.00); // Bu mass displaced
1139  createHisto("massTDBu", 100, 5.00, 6.00); // Bu mass displaced
1140  createHisto("massDIBd", 100, 5.00, 6.00); // Bd mass inclusive
1141  createHisto("massTIBd", 100, 5.00, 6.00); // Bd mass inclusive
1142  createHisto("massDDBd", 100, 5.00, 6.00); // Bd mass displaced
1143  createHisto("massTDBd", 100, 5.00, 6.00); // Bd mass displaced
1144  createHisto("massDIBs", 100, 5.00, 6.00); // Bs mass inclusive
1145  createHisto("massTIBs", 100, 5.00, 6.00); // Bs mass inclusive
1146  createHisto("massDDBs", 100, 5.00, 6.00); // Bs mass displaced
1147  createHisto("massTDBs", 100, 5.00, 6.00); // Bs mass displaced
1148  createHisto("massDIBc", 100, 6.00, 7.00); // Bc mass inclusive
1149  createHisto("massTIBc", 100, 6.00, 7.00); // Bc mass inclusive
1150  createHisto("massDDBc", 100, 6.00, 7.00); // Bc mass displaced
1151  createHisto("massTDBc", 100, 6.00, 7.00); // Bc mass displaced
1152  createHisto("massDIX3872", 40, 3.60, 4.00); // X3872 mass inclusive
1153  createHisto("massTIX3872", 40, 3.60, 4.00); // X3872 mass inclusive
1154  createHisto("massDDX3872", 40, 3.60, 4.00); // X3872 mass displaced
1155  createHisto("massTDX3872", 40, 3.60, 4.00); // X3872 mass displaced
1156  createHisto("mfitDIBu", 100, 5.00, 6.00); // Bu mass, with constr.
1157  createHisto("mfitTIBu", 100, 5.00, 6.00); // Bu mass, with constr.
1158  createHisto("mfitDDBu", 100, 5.00, 6.00); // Bu mass, with constr.
1159  createHisto("mfitTDBu", 100, 5.00, 6.00); // Bu mass, with constr.
1160  createHisto("mfitDIBd", 100, 5.00, 6.00); // Bd mass, with constr.
1161  createHisto("mfitTIBd", 100, 5.00, 6.00); // Bd mass, with constr.
1162  createHisto("mfitDDBd", 100, 5.00, 6.00); // Bd mass, with constr.
1163  createHisto("mfitTDBd", 100, 5.00, 6.00); // Bd mass, with constr.
1164  createHisto("mfitDIBs", 100, 5.00, 6.00); // Bs mass, with constr.
1165  createHisto("mfitTIBs", 100, 5.00, 6.00); // Bs mass, with constr.
1166  createHisto("mfitDDBs", 100, 5.00, 6.00); // Bs mass, with constr.
1167  createHisto("mfitTDBs", 100, 5.00, 6.00); // Bs mass, with constr.
1168  createHisto("mfitDIBc", 100, 6.00, 7.00); // Bc mass, with constr.
1169  createHisto("mfitTIBc", 100, 6.00, 7.00); // Bc mass, with constr.
1170  createHisto("mfitDDBc", 100, 6.00, 7.00); // Bc mass, with constr.
1171  createHisto("mfitTDBc", 100, 6.00, 7.00); // Bc mass, with constr.
1172  createHisto("mfitDIX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1173  createHisto("mfitTIX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1174  createHisto("mfitDDX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1175  createHisto("mfitTDX3872", 40, 3.60, 4.00); // X3872 mass, with constr.
1176  createHisto("massDIBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1177  createHisto("massTIBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1178  createHisto("massDDBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1179  createHisto("massTDBuJPsi", 35, 2.95, 3.30); // JPsi mass in Bu decay
1180  createHisto("massDIBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1181  createHisto("massTIBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1182  createHisto("massDDBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1183  createHisto("massTDBdJPsi", 35, 2.95, 3.30); // JPsi mass in Bd decay
1184  createHisto("massDIBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1185  createHisto("massTIBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1186  createHisto("massDDBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1187  createHisto("massTDBdKx0", 50, 0.80, 1.05); // Kx0 mass in Bd decay
1188  createHisto("massDIBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1189  createHisto("massTIBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1190  createHisto("massDDBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1191  createHisto("massTDBsJPsi", 35, 2.95, 3.30); // JPsi mass in Bs decay
1192  createHisto("massDIBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1193  createHisto("massTIBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1194  createHisto("massDDBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1195  createHisto("massTDBsPhi", 50, 1.01, 1.03); // Phi mass in Bs decay
1196  createHisto("massDIBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1197  createHisto("massTIBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1198  createHisto("massDDBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1199  createHisto("massTDBcJPsi", 35, 2.95, 3.30); // JPsi mass in Bc decay
1200  createHisto("massDIX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1201  createHisto("massTIX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1202  createHisto("massDDX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1203  createHisto("massTDX3JPsi", 35, 2.95, 3.30); // JPsi mass in X3872 decay
1204  createHisto("massDK0s", 50, 0.40, 0.60); // K0s mass
1205  createHisto("mfitDK0s", 50, 0.40, 0.60); // K0s mass
1206  createHisto("massDLambda0", 60, 1.00, 1.30); // Lambda0 mass
1207  createHisto("mfitDLambda0", 60, 1.00, 1.30); // Lambda0 mass
1208  createHisto("massDIB0", 50, 5.00, 6.00); // B0 mass inclusive
1209  createHisto("massTIB0", 50, 5.00, 6.00); // B0 mass inclusive
1210  createHisto("massDDB0", 50, 5.00, 6.00); // B0 mass displaced
1211  createHisto("massTDB0", 50, 5.00, 6.00); // B0 mass displaced
1212  createHisto("mfitDIB0", 50, 5.00, 6.00); // B0 mass, with constr.
1213  createHisto("mfitTIB0", 50, 5.00, 6.00); // B0 mass, with constr.
1214  createHisto("mfitDDB0", 50, 5.00, 6.00); // B0 mass, with constr.
1215  createHisto("mfitTDB0", 50, 5.00, 6.00); // B0 mass, with constr.
1216  createHisto("massDIB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1217  createHisto("massTIB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1218  createHisto("massDDB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1219  createHisto("massTDB0JPsi", 35, 2.95, 3.30); // JPsi mass in B0 decay
1220  createHisto("massDIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1221  createHisto("massTIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1222  createHisto("massDDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1223  createHisto("massTDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1224  createHisto("mfitDIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1225  createHisto("mfitTIB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1226  createHisto("mfitDDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1227  createHisto("mfitTDB0K0s", 50, 0.40, 0.60); // K0s mass in B0 decay
1228  createHisto("massDILambdab", 25, 5.00, 6.00); // Lambdab mass inclusive
1229  createHisto("massTILambdab", 25, 5.00, 6.00); // Lambdab mass inclusive
1230  createHisto("massDDLambdab", 25, 5.00, 6.00); // Lambdab mass displaced
1231  createHisto("massTDLambdab", 25, 5.00, 6.00); // Lambdab mass displaced
1232  createHisto("mfitDILambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1233  createHisto("mfitTILambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1234  createHisto("mfitDDLambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1235  createHisto("mfitTDLambdab", 25, 5.00, 6.00); // Lambdab mass, with constr.
1236  createHisto("massDILbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1237  createHisto("massTILbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1238  createHisto("massDDLbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1239  createHisto("massTDLbJPsi", 35, 2.95, 3.30); // JPsi mass in Lambdab decay
1240  createHisto("massDILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1241  createHisto("massTILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1242  createHisto("massDDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1243  createHisto("massTDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1244  createHisto("mfitDILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1245  createHisto("mfitTILbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1246  createHisto("mfitDDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1247  createHisto("mfitTDLbL0", 60, 1.00, 1.30); // L0 mass in Lambdab decay
1248 
1249  createHisto("massFull", 200, 2.00, 12.0); // Full onia mass
1250 
1251  createHisto("ctauDIJPsi", 60, -0.05, 0.25); // JPsi ctau inclusive
1252  createHisto("ctauTIJPsi", 60, -0.05, 0.25); // JPsi ctau inclusive
1253  createHisto("ctauDBJPsi", 60, -0.05, 0.25); // JPsi ctau barrel
1254  createHisto("ctauTBJPsi", 60, -0.05, 0.25); // JPsi ctau barrel
1255  createHisto("ctauDIBu", 60, -0.05, 0.25); // Bu ctau inclusive
1256  createHisto("ctauTIBu", 60, -0.05, 0.25); // Bu ctau inclusive
1257  createHisto("ctauDDBu", 60, -0.05, 0.25); // Bu ctau displaced
1258  createHisto("ctauTDBu", 60, -0.05, 0.25); // Bu ctau displaced
1259  createHisto("ctauDIBd", 60, -0.05, 0.25); // Bd ctau inclusive
1260  createHisto("ctauTIBd", 60, -0.05, 0.25); // Bd ctau inclusive
1261  createHisto("ctauDDBd", 60, -0.05, 0.25); // Bd ctau displaced
1262  createHisto("ctauTDBd", 60, -0.05, 0.25); // Bd ctau displaced
1263  createHisto("ctauDIBs", 60, -0.05, 0.25); // Bs ctau inclusive
1264  createHisto("ctauTIBs", 60, -0.05, 0.25); // Bs ctau inclusive
1265  createHisto("ctauDDBs", 60, -0.05, 0.25); // Bs ctau displaced
1266  createHisto("ctauTDBs", 60, -0.05, 0.25); // Bs ctau displaced
1267  createHisto("ctauDIB0", 60, -0.05, 0.25); // B0 ctau inclusive
1268  createHisto("ctauTIB0", 60, -0.05, 0.25); // B0 ctau inclusive
1269  createHisto("ctauDDB0", 60, -0.05, 0.25); // B0 ctau displaced
1270  createHisto("ctauTDB0", 60, -0.05, 0.25); // B0 ctau displaced
1271  createHisto("ctauDILambdab", 60, -0.05, 0.25); // Lambdab ctau inclusive
1272  createHisto("ctauTILambdab", 60, -0.05, 0.25); // Lambdab ctau inclusive
1273  createHisto("ctauDDLambdab", 60, -0.05, 0.25); // Lambdab ctau displaced
1274  createHisto("ctauTDLambdab", 60, -0.05, 0.25); // Lambdab ctau displaced
1275 
1276  recoName = new string;
1277  tree = fs->make<TTree>("BPHReco", "BPHReco");
1278  b_runNumber = tree->Branch("runNumber", &runNumber, "runNumber/i");
1279  b_lumiSection = tree->Branch("lumiSection", &lumiSection, "lumiSection/i");
1280  b_eventNumber = tree->Branch("eventNumber", &eventNumber, "eventNumber/i");
1281  b_recoName = tree->Branch("recoName", &recoName, 8192, 99);
1282  b_recoMass = tree->Branch("recoMass", &recoMass, "recoMass/F");
1283  b_recoTime = tree->Branch("recoTime", &recoTime, "recoTime/F");
1284  b_recoErrT = tree->Branch("recoErrT", &recoErrT, "recoErrT/F");
1285 
1286  return;
1287 }
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 1934 of file BPHHistoSpecificDecay.cc.

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

1934  {
1935  histoMap[name] = fs->make<TH1F>(name.c_str(), name.c_str(), nbin, hmin, hmax);
1936  return;
1937 }
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 1876 of file BPHHistoSpecificDecay.cc.

1876 { return; }

◆ fillDescriptions()

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

Definition at line 1100 of file BPHHistoSpecificDecay.cc.

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

1100  {
1102  desc.add<string>("trigResultsLabel", "");
1103  desc.add<string>("oniaCandsLabel", "");
1104  desc.add<string>("sdCandsLabel", "");
1105  desc.add<string>("ssCandsLabel", "");
1106  desc.add<string>("buCandsLabel", "");
1107  desc.add<string>("bdCandsLabel", "");
1108  desc.add<string>("bsCandsLabel", "");
1109  desc.add<string>("k0CandsLabel", "");
1110  desc.add<string>("l0CandsLabel", "");
1111  desc.add<string>("b0CandsLabel", "");
1112  desc.add<string>("lbCandsLabel", "");
1113  desc.add<string>("bcCandsLabel", "");
1114  desc.add<string>("x3872CandsLabel", "");
1115  descriptions.add("process.bphHistoSpecificDecay", desc);
1116  return;
1117 }
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 55 of file BPHHistoSpecificDecay.h.

◆ b0CandsToken

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

Definition at line 68 of file BPHHistoSpecificDecay.h.

◆ b0DBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0DBasicSelect
private

Definition at line 154 of file BPHHistoSpecificDecay.h.

◆ b0DJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0DJPsiBasicSelect
private

Definition at line 155 of file BPHHistoSpecificDecay.h.

◆ b0DJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::b0DJPsiDaughterSelect
private

Definition at line 158 of file BPHHistoSpecificDecay.h.

◆ b0DK0sBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0DK0sBasicSelect
private

Definition at line 156 of file BPHHistoSpecificDecay.h.

◆ b0DVertexSelect

CandidateSelect* BPHHistoSpecificDecay::b0DVertexSelect
private

Definition at line 157 of file BPHHistoSpecificDecay.h.

◆ b0IBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0IBasicSelect
private

Definition at line 149 of file BPHHistoSpecificDecay.h.

◆ b0IJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0IJPsiBasicSelect
private

Definition at line 150 of file BPHHistoSpecificDecay.h.

◆ b0IJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::b0IJPsiDaughterSelect
private

Definition at line 153 of file BPHHistoSpecificDecay.h.

◆ b0IK0sBasicSelect

CandidateSelect* BPHHistoSpecificDecay::b0IK0sBasicSelect
private

Definition at line 151 of file BPHHistoSpecificDecay.h.

◆ b0IVertexSelect

CandidateSelect* BPHHistoSpecificDecay::b0IVertexSelect
private

Definition at line 152 of file BPHHistoSpecificDecay.h.

◆ b_eventNumber

TBranch* BPHHistoSpecificDecay::b_eventNumber
private

Definition at line 98 of file BPHHistoSpecificDecay.h.

◆ b_lumiSection

TBranch* BPHHistoSpecificDecay::b_lumiSection
private

Definition at line 97 of file BPHHistoSpecificDecay.h.

◆ b_recoErrT

TBranch* BPHHistoSpecificDecay::b_recoErrT
private

Definition at line 102 of file BPHHistoSpecificDecay.h.

◆ b_recoMass

TBranch* BPHHistoSpecificDecay::b_recoMass
private

Definition at line 100 of file BPHHistoSpecificDecay.h.

◆ b_recoName

TBranch* BPHHistoSpecificDecay::b_recoName
private

Definition at line 99 of file BPHHistoSpecificDecay.h.

◆ b_recoTime

TBranch* BPHHistoSpecificDecay::b_recoTime
private

Definition at line 101 of file BPHHistoSpecificDecay.h.

◆ b_runNumber

TBranch* BPHHistoSpecificDecay::b_runNumber
private

Definition at line 96 of file BPHHistoSpecificDecay.h.

◆ bcCandsLabel

std::string BPHHistoSpecificDecay::bcCandsLabel
private

Definition at line 57 of file BPHHistoSpecificDecay.h.

◆ bcCandsToken

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

Definition at line 70 of file BPHHistoSpecificDecay.h.

◆ bcDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcDBasicSelect
private

Definition at line 176 of file BPHHistoSpecificDecay.h.

◆ bcDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcDJPsiBasicSelect
private

Definition at line 177 of file BPHHistoSpecificDecay.h.

◆ bcDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bcDJPsiDaughterSelect
private

Definition at line 180 of file BPHHistoSpecificDecay.h.

◆ bcDJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcDJPsiVertexSelect
private

Definition at line 178 of file BPHHistoSpecificDecay.h.

◆ bcDPiPtMin

double BPHHistoSpecificDecay::bcDPiPtMin
private

Definition at line 196 of file BPHHistoSpecificDecay.h.

◆ bcDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcDVertexSelect
private

Definition at line 179 of file BPHHistoSpecificDecay.h.

◆ bcIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcIBasicSelect
private

Definition at line 171 of file BPHHistoSpecificDecay.h.

◆ bcIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bcIJPsiBasicSelect
private

Definition at line 172 of file BPHHistoSpecificDecay.h.

◆ bcIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bcIJPsiDaughterSelect
private

Definition at line 175 of file BPHHistoSpecificDecay.h.

◆ bcIJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcIJPsiVertexSelect
private

Definition at line 173 of file BPHHistoSpecificDecay.h.

◆ bcIPiPtMin

double BPHHistoSpecificDecay::bcIPiPtMin
private

Definition at line 195 of file BPHHistoSpecificDecay.h.

◆ bcIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bcIVertexSelect
private

Definition at line 174 of file BPHHistoSpecificDecay.h.

◆ bcJPsiDcaMax

double BPHHistoSpecificDecay::bcJPsiDcaMax
private

Definition at line 199 of file BPHHistoSpecificDecay.h.

◆ bdCandsLabel

std::string BPHHistoSpecificDecay::bdCandsLabel
private

Definition at line 51 of file BPHHistoSpecificDecay.h.

◆ bdCandsToken

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

Definition at line 64 of file BPHHistoSpecificDecay.h.

◆ bdDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdDBasicSelect
private

Definition at line 132 of file BPHHistoSpecificDecay.h.

◆ bdDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdDJPsiBasicSelect
private

Definition at line 133 of file BPHHistoSpecificDecay.h.

◆ bdDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bdDJPsiDaughterSelect
private

Definition at line 136 of file BPHHistoSpecificDecay.h.

◆ bdDKx0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdDKx0BasicSelect
private

Definition at line 134 of file BPHHistoSpecificDecay.h.

◆ bdDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bdDVertexSelect
private

Definition at line 135 of file BPHHistoSpecificDecay.h.

◆ bdIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdIBasicSelect
private

Definition at line 127 of file BPHHistoSpecificDecay.h.

◆ bdIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdIJPsiBasicSelect
private

Definition at line 128 of file BPHHistoSpecificDecay.h.

◆ bdIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bdIJPsiDaughterSelect
private

Definition at line 131 of file BPHHistoSpecificDecay.h.

◆ bdIKx0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::bdIKx0BasicSelect
private

Definition at line 129 of file BPHHistoSpecificDecay.h.

◆ bdIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bdIVertexSelect
private

Definition at line 130 of file BPHHistoSpecificDecay.h.

◆ bsCandsLabel

std::string BPHHistoSpecificDecay::bsCandsLabel
private

Definition at line 52 of file BPHHistoSpecificDecay.h.

◆ bsCandsToken

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

Definition at line 65 of file BPHHistoSpecificDecay.h.

◆ bsDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsDBasicSelect
private

Definition at line 143 of file BPHHistoSpecificDecay.h.

◆ bsDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsDJPsiBasicSelect
private

Definition at line 144 of file BPHHistoSpecificDecay.h.

◆ bsDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bsDJPsiDaughterSelect
private

Definition at line 147 of file BPHHistoSpecificDecay.h.

◆ bsDPhiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsDPhiBasicSelect
private

Definition at line 145 of file BPHHistoSpecificDecay.h.

◆ bsDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bsDVertexSelect
private

Definition at line 146 of file BPHHistoSpecificDecay.h.

◆ bsIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsIBasicSelect
private

Definition at line 138 of file BPHHistoSpecificDecay.h.

◆ bsIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsIJPsiBasicSelect
private

Definition at line 139 of file BPHHistoSpecificDecay.h.

◆ bsIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::bsIJPsiDaughterSelect
private

Definition at line 142 of file BPHHistoSpecificDecay.h.

◆ bsIPhiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::bsIPhiBasicSelect
private

Definition at line 140 of file BPHHistoSpecificDecay.h.

◆ bsIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::bsIVertexSelect
private

Definition at line 141 of file BPHHistoSpecificDecay.h.

◆ buCandsLabel

std::string BPHHistoSpecificDecay::buCandsLabel
private

Definition at line 50 of file BPHHistoSpecificDecay.h.

◆ buCandsToken

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

Definition at line 63 of file BPHHistoSpecificDecay.h.

◆ buDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buDBasicSelect
private

Definition at line 122 of file BPHHistoSpecificDecay.h.

◆ buDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buDJPsiBasicSelect
private

Definition at line 123 of file BPHHistoSpecificDecay.h.

◆ buDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::buDJPsiDaughterSelect
private

Definition at line 125 of file BPHHistoSpecificDecay.h.

◆ buDKPtMin

double BPHHistoSpecificDecay::buDKPtMin
private

Definition at line 194 of file BPHHistoSpecificDecay.h.

◆ buDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::buDVertexSelect
private

Definition at line 124 of file BPHHistoSpecificDecay.h.

◆ buIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buIBasicSelect
private

Definition at line 118 of file BPHHistoSpecificDecay.h.

◆ buIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::buIJPsiBasicSelect
private

Definition at line 119 of file BPHHistoSpecificDecay.h.

◆ buIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::buIJPsiDaughterSelect
private

Definition at line 121 of file BPHHistoSpecificDecay.h.

◆ buIKPtMin

double BPHHistoSpecificDecay::buIKPtMin
private

Definition at line 193 of file BPHHistoSpecificDecay.h.

◆ buIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::buIVertexSelect
private

Definition at line 120 of file BPHHistoSpecificDecay.h.

◆ eventNumber

unsigned int BPHHistoSpecificDecay::eventNumber
private

Definition at line 91 of file BPHHistoSpecificDecay.h.

◆ fs

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

Definition at line 86 of file BPHHistoSpecificDecay.h.

◆ histoMap

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

Definition at line 87 of file BPHHistoSpecificDecay.h.

◆ jPsiBBasicSelect

CandidateSelect* BPHHistoSpecificDecay::jPsiBBasicSelect
private

Definition at line 109 of file BPHHistoSpecificDecay.h.

◆ jPsiIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::jPsiIBasicSelect
private

Definition at line 105 of file BPHHistoSpecificDecay.h.

◆ k0CandsLabel

std::string BPHHistoSpecificDecay::k0CandsLabel
private

Definition at line 53 of file BPHHistoSpecificDecay.h.

◆ k0CandsToken

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

Definition at line 66 of file BPHHistoSpecificDecay.h.

◆ l0CandsLabel

std::string BPHHistoSpecificDecay::l0CandsLabel
private

Definition at line 54 of file BPHHistoSpecificDecay.h.

◆ l0CandsToken

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

Definition at line 67 of file BPHHistoSpecificDecay.h.

◆ lbCandsLabel

std::string BPHHistoSpecificDecay::lbCandsLabel
private

Definition at line 56 of file BPHHistoSpecificDecay.h.

◆ lbCandsToken

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

Definition at line 69 of file BPHHistoSpecificDecay.h.

◆ lbDBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbDBasicSelect
private

Definition at line 165 of file BPHHistoSpecificDecay.h.

◆ lbDJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbDJPsiBasicSelect
private

Definition at line 166 of file BPHHistoSpecificDecay.h.

◆ lbDJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::lbDJPsiDaughterSelect
private

Definition at line 169 of file BPHHistoSpecificDecay.h.

◆ lbDLambda0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbDLambda0BasicSelect
private

Definition at line 167 of file BPHHistoSpecificDecay.h.

◆ lbDVertexSelect

CandidateSelect* BPHHistoSpecificDecay::lbDVertexSelect
private

Definition at line 168 of file BPHHistoSpecificDecay.h.

◆ lbIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbIBasicSelect
private

Definition at line 160 of file BPHHistoSpecificDecay.h.

◆ lbIJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbIJPsiBasicSelect
private

Definition at line 161 of file BPHHistoSpecificDecay.h.

◆ lbIJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::lbIJPsiDaughterSelect
private

Definition at line 164 of file BPHHistoSpecificDecay.h.

◆ lbILambda0BasicSelect

CandidateSelect* BPHHistoSpecificDecay::lbILambda0BasicSelect
private

Definition at line 162 of file BPHHistoSpecificDecay.h.

◆ lbIVertexSelect

CandidateSelect* BPHHistoSpecificDecay::lbIVertexSelect
private

Definition at line 163 of file BPHHistoSpecificDecay.h.

◆ lumiSection

unsigned int BPHHistoSpecificDecay::lumiSection
private

Definition at line 90 of file BPHHistoSpecificDecay.h.

◆ npJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::npJPsiBasicSelect
private

Definition at line 115 of file BPHHistoSpecificDecay.h.

◆ npJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::npJPsiDaughterSelect
private

Definition at line 116 of file BPHHistoSpecificDecay.h.

◆ oniaCandsLabel

std::string BPHHistoSpecificDecay::oniaCandsLabel
private

Definition at line 47 of file BPHHistoSpecificDecay.h.

◆ oniaCandsToken

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

Definition at line 60 of file BPHHistoSpecificDecay.h.

◆ oniaDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::oniaDaughterSelect
private

Definition at line 113 of file BPHHistoSpecificDecay.h.

◆ oniaVertexSelect

CandidateSelect* BPHHistoSpecificDecay::oniaVertexSelect
private

Definition at line 112 of file BPHHistoSpecificDecay.h.

◆ phiBBasicSelect

CandidateSelect* BPHHistoSpecificDecay::phiBBasicSelect
private

Definition at line 108 of file BPHHistoSpecificDecay.h.

◆ phiIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::phiIBasicSelect
private

Definition at line 104 of file BPHHistoSpecificDecay.h.

◆ psi2BBasicSelect

CandidateSelect* BPHHistoSpecificDecay::psi2BBasicSelect
private

Definition at line 110 of file BPHHistoSpecificDecay.h.

◆ psi2IBasicSelect

CandidateSelect* BPHHistoSpecificDecay::psi2IBasicSelect
private

Definition at line 106 of file BPHHistoSpecificDecay.h.

◆ recoErrT

float BPHHistoSpecificDecay::recoErrT
private

Definition at line 95 of file BPHHistoSpecificDecay.h.

◆ recoMass

float BPHHistoSpecificDecay::recoMass
private

Definition at line 93 of file BPHHistoSpecificDecay.h.

◆ recoName

std::string* BPHHistoSpecificDecay::recoName
private

Definition at line 92 of file BPHHistoSpecificDecay.h.

◆ recoTime

float BPHHistoSpecificDecay::recoTime
private

Definition at line 94 of file BPHHistoSpecificDecay.h.

◆ runNumber

unsigned int BPHHistoSpecificDecay::runNumber
private

Definition at line 89 of file BPHHistoSpecificDecay.h.

◆ sdCandsLabel

std::string BPHHistoSpecificDecay::sdCandsLabel
private

Definition at line 48 of file BPHHistoSpecificDecay.h.

◆ sdCandsToken

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

Definition at line 61 of file BPHHistoSpecificDecay.h.

◆ ssCandsLabel

std::string BPHHistoSpecificDecay::ssCandsLabel
private

Definition at line 49 of file BPHHistoSpecificDecay.h.

◆ ssCandsToken

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

Definition at line 62 of file BPHHistoSpecificDecay.h.

◆ tree

TTree* BPHHistoSpecificDecay::tree
private

◆ trigResultsLabel

std::string BPHHistoSpecificDecay::trigResultsLabel
private

Definition at line 46 of file BPHHistoSpecificDecay.h.

◆ trigResultsToken

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

Definition at line 59 of file BPHHistoSpecificDecay.h.

◆ upsBBasicSelect

CandidateSelect* BPHHistoSpecificDecay::upsBBasicSelect
private

Definition at line 111 of file BPHHistoSpecificDecay.h.

◆ upsIBasicSelect

CandidateSelect* BPHHistoSpecificDecay::upsIBasicSelect
private

Definition at line 107 of file BPHHistoSpecificDecay.h.

◆ useB0

bool BPHHistoSpecificDecay::useB0
private

Definition at line 81 of file BPHHistoSpecificDecay.h.

◆ useBc

bool BPHHistoSpecificDecay::useBc
private

Definition at line 83 of file BPHHistoSpecificDecay.h.

◆ useBd

bool BPHHistoSpecificDecay::useBd
private

Definition at line 77 of file BPHHistoSpecificDecay.h.

◆ useBs

bool BPHHistoSpecificDecay::useBs
private

Definition at line 78 of file BPHHistoSpecificDecay.h.

◆ useBu

bool BPHHistoSpecificDecay::useBu
private

Definition at line 76 of file BPHHistoSpecificDecay.h.

◆ useK0

bool BPHHistoSpecificDecay::useK0
private

Definition at line 79 of file BPHHistoSpecificDecay.h.

◆ useL0

bool BPHHistoSpecificDecay::useL0
private

Definition at line 80 of file BPHHistoSpecificDecay.h.

◆ useLb

bool BPHHistoSpecificDecay::useLb
private

Definition at line 82 of file BPHHistoSpecificDecay.h.

◆ useOnia

bool BPHHistoSpecificDecay::useOnia
private

Definition at line 73 of file BPHHistoSpecificDecay.h.

◆ useSd

bool BPHHistoSpecificDecay::useSd
private

Definition at line 74 of file BPHHistoSpecificDecay.h.

◆ useSs

bool BPHHistoSpecificDecay::useSs
private

Definition at line 75 of file BPHHistoSpecificDecay.h.

◆ useTrig

bool BPHHistoSpecificDecay::useTrig
private

Definition at line 72 of file BPHHistoSpecificDecay.h.

◆ useX3872

bool BPHHistoSpecificDecay::useX3872
private

Definition at line 84 of file BPHHistoSpecificDecay.h.

◆ x3872CandsLabel

std::string BPHHistoSpecificDecay::x3872CandsLabel
private

Definition at line 58 of file BPHHistoSpecificDecay.h.

◆ x3872CandsToken

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

Definition at line 71 of file BPHHistoSpecificDecay.h.

◆ x3872DBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DBasicSelect
private

Definition at line 187 of file BPHHistoSpecificDecay.h.

◆ x3872DJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DJPsiBasicSelect
private

Definition at line 188 of file BPHHistoSpecificDecay.h.

◆ x3872DJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DJPsiDaughterSelect
private

Definition at line 191 of file BPHHistoSpecificDecay.h.

◆ x3872DJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DJPsiVertexSelect
private

Definition at line 189 of file BPHHistoSpecificDecay.h.

◆ x3872DPiPtMin

double BPHHistoSpecificDecay::x3872DPiPtMin
private

Definition at line 198 of file BPHHistoSpecificDecay.h.

◆ x3872DVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872DVertexSelect
private

Definition at line 190 of file BPHHistoSpecificDecay.h.

◆ x3872IBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IBasicSelect
private

Definition at line 182 of file BPHHistoSpecificDecay.h.

◆ x3872IJPsiBasicSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IJPsiBasicSelect
private

Definition at line 183 of file BPHHistoSpecificDecay.h.

◆ x3872IJPsiDaughterSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IJPsiDaughterSelect
private

Definition at line 186 of file BPHHistoSpecificDecay.h.

◆ x3872IJPsiVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IJPsiVertexSelect
private

Definition at line 184 of file BPHHistoSpecificDecay.h.

◆ x3872IPiPtMin

double BPHHistoSpecificDecay::x3872IPiPtMin
private

Definition at line 197 of file BPHHistoSpecificDecay.h.

◆ x3872IVertexSelect

CandidateSelect* BPHHistoSpecificDecay::x3872IVertexSelect
private

Definition at line 185 of file BPHHistoSpecificDecay.h.

◆ x3872JPsiDcaMax

double BPHHistoSpecificDecay::x3872JPsiDcaMax
private

Definition at line 200 of file BPHHistoSpecificDecay.h.