20 std::vector< TtDilepLRSignalSelObservables::IntBoolPair >
31 bool matchBbar =
false;
32 bool matchLeptPos =
false;
33 bool matchLeptNeg =
false;
42 if (genEvent->isFullLeptonic()) {
57 if (genEvent->isSemiLeptonic()) {
58 int id = genEvent->singleLepton()->pdgId();
63 ( ((solution.
getWmDecay()==
"electron") && (
id==11))
64 || ((solution.
getWmDecay()==
"muon") && (
id==13)) )
69 ( ((solution.
getWpDecay()==
"electron")&& (
id==-11))
70 || ((solution.
getWpDecay()==
"muon") && (
id==-13)) )
75 if (genEvent->isTtBar() && genEvent->numberOfBQuarks()>1) {
82 matchB1= ( (dr1<0.4) || (dr2<0.4));
85 matchB = ( (dr1<0.4) );
95 matchBbar = ( (dr2<0.4) );
96 matchB2 = ( (dr1<0.4) || (dr2<0.4));
102 }
catch (...){
std::cout <<
"Exception\n";}
115 double pt1 = solution.
getJetB().
p4().pt();
163 double mass = pp.mass();
170 std::vector <pat::Jet> jet3;
171 for (
int i=0;
i<(int)jets->size();++
i) {
172 if ( ((*jets)[
i].et()<solution.
getJetB().
et()) && ((*jets)[
i].et()<solution.
getJetBbar().
et())) {jet3.push_back((*jets)[
i]);
174 double jet1Ratio = 0., jet2Ratio = 0.;
176 jet1Ratio = jet3[0].et()/solution.
getJetB().
et();
191 (
double v1,
double v2,
int obsNbr, std::vector< IntDblPair > & varList,
192 bool match1,
bool match2, std::vector< IntBoolPair > & matchList)
198 matchList.push_back(
IntBoolPair(obsNbr+1, match2));
204 matchList.push_back(
IntBoolPair(obsNbr+1, match1));
211 while (deltaPhi >
M_PI) deltaPhi -= 2*
M_PI;
212 while (deltaPhi <= -
M_PI) deltaPhi += 2*
M_PI;
pat::Jet getCalJetBbar() const
const reco::GenParticle * getGenLepm() const
double delta(double phi1, double phi2)
virtual int pdgId() const
PDG identifier.
void setLRSignalEvtObservables(std::vector< std::pair< unsigned int, double > >)
virtual double et() const
transverse energy
void fillMinMax(double v1, double v2, int obsNbr, std::vector< IntDblPair > &varList, bool match1, bool match2, std::vector< IntBoolPair > &matchList)
std::pair< unsigned int, bool > IntBoolPair
std::vector< IntBoolPair > operator()(TtDilepEvtSolution &, const edm::Event &iEvent, bool matchOnly=false)
const LorentzVector & p4() const
four-momentum Lorentz vector
std::string getWmDecay() const
std::string getWpDecay() const
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
std::pair< unsigned int, double > IntDblPair
reco::Particle getLeptNeg() const
pat::Jet getJetBbar() const
TtDilepLRSignalSelObservables()
reco::Particle getLeptPos() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
int partonFlavour() const
return the flavour of the parton underlying the jet
std::vector< IntBoolPair > evtselectVarMatch
std::vector< IntDblPair > evtselectVarVal
pat::Jet getCalJetB() const
const reco::GenParticle * getGenLepp() const
~TtDilepLRSignalSelObservables()
virtual const LorentzVector & p4() const
four-momentum Lorentz vector