CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
VBF.VBF Class Reference
Inheritance diagram for VBF.VBF:

Public Member Functions

def __init__ (self, jets, diLepton, vbfMvaCalc, cjvPtCut)
 
def __str__ (self)
 
def calcP4 (self, jets)
 
def findCentralJets (self, leadJets, otherJets)
 

Public Attributes

 centralJets
 
 cjvPtCut
 
 deta
 
 dijetphi
 
 dijetpt
 
 dphi
 
 dphidijethiggs
 
 higgsp4
 
 jets
 
 leadJets
 
 met
 
 mjj
 
 mva
 self.ptvis = diLepton.pt() new VBF MVA, based on 4 variables More...
 
 otherJets
 
 ptvis
 
 vbfMvaCalc
 
 visjeteta
 

Detailed Description

Computes and holds VBF quantities

Definition at line 5 of file VBF.py.

Constructor & Destructor Documentation

◆ __init__()

def VBF.VBF.__init__ (   self,
  jets,
  diLepton,
  vbfMvaCalc,
  cjvPtCut 
)
jets: jets cleaned from the diLepton legs.
diLepton: the di-tau, for example. Necessary to compute input variables for MVA selection

Definition at line 7 of file VBF.py.

7  def __init__(self, jets, diLepton, vbfMvaCalc, cjvPtCut):
8  '''jets: jets cleaned from the diLepton legs.
9  diLepton: the di-tau, for example. Necessary to compute input variables for MVA selection
10  '''
11  self.cjvPtCut = cjvPtCut
12  self.vbfMvaCalc = vbfMvaCalc
13  self.jets = jets
14  # the MET is taken from the di-lepton, because it can depend on it
15  # e.g. recoil corrections, mva met
16  self.met = diLepton.met()
17  self.leadJets = jets[:2] # taking first 2 jets (leading ones)
18  self.otherJets = jets[2:]
19  self.centralJets = self.findCentralJets( self.leadJets, self.otherJets )
20 
21  # delta eta
22  self.deta = self.leadJets[0].eta() - self.leadJets[1].eta()
23 
24  # below, the variables for the MVA selection
25  # delta phi
26  self.dphi = deltaPhi(self.leadJets[0].phi(), self.leadJets[1].phi())
27  dijetp4 = self.leadJets[0].p4() + self.leadJets[1].p4()
28  # mass of the di-jet system
29  self.mjj = dijetp4.M()
30  # pt of di-jet system
31  self.dijetpt = dijetp4.pt()
32  # phi of di-jet system
33  self.dijetphi = dijetp4.phi()
34  # higgs momentum (defined as the di-lepton momentum + the met momentum)
35  # don't access longitudinal quantities!
36  self.higgsp4 = diLepton.p4() + self.met.p4()
37  # delta phi between dijet system and higgs system
38  self.dphidijethiggs = deltaPhi( self.dijetphi, self.higgsp4.phi() )
39  # ?
40  visDiLepton = diLepton.leg1 ().p4 () + diLepton.leg2 ().p4 ()
41  self.visjeteta = min (
42  abs (self.leadJets[0].eta () - visDiLepton.eta ()),
43  abs (self.leadJets[1].eta () - visDiLepton.eta ()))
44  # visible higgs pt = di-lepton pt
45  self.ptvis = visDiLepton.pt()
46 
48  if self.vbfMvaCalc is not None:
49  self.mva = self.vbfMvaCalc.val( self.mjj,
50  abs(self.deta),
51  self.visjeteta,
52  self.ptvis )
53  else:
54  self.mva = -99.
55 
56 # double mjj , // the invariant mass of the two tag jets
57 # double dEta , // the pseudorapidity difference between the two tag jets
58 # double dPhi , // the phi difference between the two tag jets
59 # double ditau_pt , // the vector sum of the pT of the tau + electron/muon + MET
60 # double dijet_pt , // the vector sum of the pT of the two tag jets
61 # double dPhi_hj , // the phi difference between the di-tau vector and the di-jet vector
62 # double C1 , // the pseudorapidity difference between the *visible* di-tau vector and the closest tag jet
63 # double C2 // the *visible* pT of the di-tau
64 
65 

Member Function Documentation

◆ __str__()

def VBF.VBF.__str__ (   self)

Definition at line 94 of file VBF.py.

94  def __str__(self):
95  header = 'VBF : deta={deta:4.2f}, Mjj={mjj:4.2f}, #centjets={ncentjets}'
96  header = header.format( deta=self.deta, mjj=self.mjj, ncentjets=len(self.centralJets))
97  leadJets = map( str, self.leadJets )
98  centralJets = map( str, self.centralJets)
99  tmp = [header]
100  tmp.append('MVA input variables: dphi={dphi:4.2f}, dijetpt={dijetpt:4.2f}, dijetphi={dijetphi:4.2f}, dphidijethiggs={dphidijethiggs:4.2f}, visjeteta={visjeteta:4.2f}, ptvis={ptvis:4.2f}'.format(
101  dphi = self.dphi,
102  dijetpt = self.dijetpt,
103  dijetphi = self.dijetphi,
104  dphidijethiggs = self.dphidijethiggs,
105  visjeteta = self.visjeteta,
106  ptvis = self.ptvis
107  ))
108  tmp.append('Leading Jets:')
109  tmp.extend( leadJets )
110  tmp.append('Central Jets:')
111  tmp.extend( centralJets )
112  return '\n'.join( tmp )

References VBF.VBF.centralJets, HcalCellType::HcalCell.deta, VBF.VBF.deta, RectangularEtaPhiRegion.deta, VBF.VBF.dijetphi, VBF.VBF.dijetpt, HcalCellType::HcalCell.dphi, VBF.VBF.dphi, RectangularEtaPhiRegion.dphi, HcalDDDRecConstants::HcalEtaBin.dphi, LMapRow.dphi, DDBHMAngular.dphi, HcalHardcodeGeometryLoader::HBHOCellParameters.dphi, HcalFlexiHardcodeGeometryLoader::HBHOCellParameters.dphi, XMLProcessor::_LMapRowHBEF.dphi, HcalHardcodeGeometryLoader::HECellParameters.dphi, HcalFlexiHardcodeGeometryLoader::HECellParameters.dphi, HcalHardcodeGeometryLoader::HFCellParameters.dphi, HcalFlexiHardcodeGeometryLoader::HFCellParameters.dphi, MuonGeometryArrange::MGACollection.dphi, trklet::IMATH_TrackletCalculatorDisk.dphi, trklet::IMATH_TrackletCalculatorOverlap.dphi, trklet::IMATH_TrackletCalculator.dphi, VBF.VBF.dphidijethiggs, join(), VBF.VBF.leadJets, genParticles_cff.map, VBF.VBF.mjj, SMPDQM.mjj, VBF.VBF.ptvis, and VBF.VBF.visjeteta.

◆ calcP4()

def VBF.VBF.calcP4 (   self,
  jets 
)
returns the sum p4 of a collection of objects.
FIXME: remove this function, which is a bit stupid

Definition at line 85 of file VBF.py.

85  def calcP4(self, jets):
86  '''returns the sum p4 of a collection of objects.
87  FIXME: remove this function, which is a bit stupid
88  '''
89  p4 = TLorentzVector()
90  for jet in jets:
91  p4 += TLorentzVector(jet.px(), jet.py(), jet.pz(), jet.energy())
92  return p4
93 

◆ findCentralJets()

def VBF.VBF.findCentralJets (   self,
  leadJets,
  otherJets 
)
Finds all jets between the 2 leading jets, for central jet veto.

Definition at line 66 of file VBF.py.

66  def findCentralJets( self, leadJets, otherJets ):
67  '''Finds all jets between the 2 leading jets, for central jet veto.'''
68  if not len(otherJets):
69  return []
70  etamin = leadJets[0].eta()
71  etamax = leadJets[1].eta()
72  if etamin > etamax:
73  etamin, etamax = etamax, etamin
74  def isCentral( jet ):
75  if jet.pt()<self.cjvPtCut:
76  return False
77  eta = jet.eta()
78  if etamin < eta and eta < etamax:
79  return True
80  else:
81  return False
82  centralJets = list(filter( isCentral, otherJets ))
83  return centralJets
84 

References VBF.VBF.cjvPtCut, PVValHelper.eta, ALCARECOTkAlBeamHalo_cff.filter, and list().

Member Data Documentation

◆ centralJets

VBF.VBF.centralJets

Definition at line 19 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ cjvPtCut

VBF.VBF.cjvPtCut

Definition at line 11 of file VBF.py.

Referenced by VBF.VBF.findCentralJets().

◆ deta

VBF.VBF.deta

Definition at line 22 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ dijetphi

VBF.VBF.dijetphi

Definition at line 33 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ dijetpt

VBF.VBF.dijetpt

Definition at line 31 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ dphi

VBF.VBF.dphi

Definition at line 26 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ dphidijethiggs

VBF.VBF.dphidijethiggs

Definition at line 38 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ higgsp4

VBF.VBF.higgsp4

Definition at line 36 of file VBF.py.

◆ jets

VBF.VBF.jets

Definition at line 13 of file VBF.py.

◆ leadJets

VBF.VBF.leadJets

Definition at line 17 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ met

VBF.VBF.met

Definition at line 16 of file VBF.py.

Referenced by objects.METAnalyzer.METAnalyzer.applyDeltaMet().

◆ mjj

VBF.VBF.mjj

Definition at line 29 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ mva

VBF.VBF.mva

self.ptvis = diLepton.pt() new VBF MVA, based on 4 variables

Definition at line 49 of file VBF.py.

◆ otherJets

VBF.VBF.otherJets

Definition at line 18 of file VBF.py.

◆ ptvis

VBF.VBF.ptvis

Definition at line 45 of file VBF.py.

Referenced by VBF.VBF.__str__().

◆ vbfMvaCalc

VBF.VBF.vbfMvaCalc

Definition at line 12 of file VBF.py.

◆ visjeteta

VBF.VBF.visjeteta

Definition at line 41 of file VBF.py.

Referenced by VBF.VBF.__str__().

join
static std::string join(char **cmd)
Definition: RemoteFile.cc:17
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
PVValHelper::eta
Definition: PVValidationHelpers.h:69
ALCARECOTkAlBeamHalo_cff.filter
filter
Definition: ALCARECOTkAlBeamHalo_cff.py:27
p4
double p4[4]
Definition: TauolaWrapper.h:92
TriggerAnalyzer.__str__
def __str__(self)
Definition: TriggerAnalyzer.py:103
heppy_batch.val
val
Definition: heppy_batch.py:351
format
list
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*", "!HLTx*" if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL. It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of "!*" before the partial wildcard feature was incorporated). Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
genParticles_cff.map
map
Definition: genParticles_cff.py:11