示例#1
0
def missing_energy_sequence(cdm_energy):
    from heppy.analyzers.RecoilBuilder import RecoilBuilder
    missing_sim = cfg.Analyzer(RecoilBuilder,
                               output='missing_sim',
                               sqrts=cdm_energy,
                               to_remove='gen_particles_stable')

    missing_rec = cfg.Analyzer(RecoilBuilder,
                               output='missing_rec',
                               sqrts=cdm_energy,
                               to_remove='rec_particles')

    from heppy.analyzers.TotalEnergy import TotalEnergy
    total_energy = cfg.Analyzer(
        TotalEnergy,
        gen_particles_stable_and_neutrinos='gen_particles_stable_and_neutrinos',
        gen_particles_stable='gen_particles_stable',
        rec_particles='rec_particles',
    )

    from heppy.analyzers.ChargeAndNeutralEnergy import ChargeAndNeutralEnergy
    charge_neutral_energy = cfg.Analyzer(
        ChargeAndNeutralEnergy,
        rec_particles='rec_particles',
        gen_particles_stable='gen_particles_stable',
    )

    return [
        missing_sim,
        missing_rec,
        # total_energy,
        # charge_neutral_energy
    ]
示例#2
0
def jet_tree_sequence(gen_ptcs, rec_ptcs, njets=None, ptmin=None):
    '''returns this sequence:
    
        return ( {'gen_jets': gen_jets,
              'jets': jets,
              'jet_match': jet_match,
              'jet_tree': jet_tree},
             sequence )
             
    @param gen_ptcs: gen particles to be used for gen jets
    @param rec_ptcs: rec particles to be used for rec jets
    @param njets: number of jets in exclusive mode
    @param ptmin: minimum jet pt in inclusive mode
    '''
    fastjet_args = None
    if njets:
        fastjet_args = dict(njets=njets)
    elif ptmin is not None:
        fastjet_args = dict(ptmin=ptmin)
    else:
        raise ValueError('provide either njets or ptmin')

    from heppy.analyzers.fcc.JetClusterizer import JetClusterizer
    gen_jets = cfg.Analyzer(
        JetClusterizer,
        output='gen_jets',
        particles=gen_ptcs,
        fastjet_args=fastjet_args,
    )

    jets = cfg.Analyzer(
        JetClusterizer,
        output='jets',
        particles=rec_ptcs,
        fastjet_args=fastjet_args,
    )

    from heppy.analyzers.Matcher import Matcher
    jet_match = cfg.Analyzer(Matcher,
                             match_particles='gen_jets',
                             particles='jets',
                             delta_r=0.3)

    from heppy.analyzers.JetTreeProducer import JetTreeProducer
    jet_tree = cfg.Analyzer(JetTreeProducer,
                            tree_name='events',
                            tree_title='jets',
                            jets='jets')

    sequence = [gen_jets, jets, jet_match, jet_tree]
    return ({
        'gen_jets': gen_jets,
        'jets': jets,
        'jet_match': jet_match,
        'jet_tree': jet_tree
    }, sequence)
示例#3
0
 def test_dict(self):
     event = Event(0)
     event.the_dict = dict([(x, x**2) for x in range(10)])
     cfg_ana = cfg.Analyzer(Selector,
                            output='filtered',
                            input_objects='the_dict',
                            filter_func=lambda x: x == 9)
     cfg_comp = cfg.Component('test', files=[])
     filter = Selector(cfg_ana, cfg_comp, self.outdir)
     filter.process(event)
     self.assertDictEqual(event.filtered, {3: 9})
示例#4
0
 def test_list(self):
     event = Event(0)
     event.the_list = range(10)
     cfg_ana = cfg.Analyzer(Selector,
                            output='filtered',
                            input_objects='the_list',
                            filter_func=lambda x: x % 2 == 0)
     cfg_comp = cfg.Component('test', files=[])
     filter = Selector(cfg_ana, cfg_comp, self.outdir)
     filter.process(event)
     self.assertItemsEqual(event.filtered, [0, 2, 4, 6, 8])
示例#5
0
def jet_tree_sequence(gen_ptcs, rec_ptcs, njets, ptmin):

    fastjet_args = None
    if njets:
        fastjet_args = dict(njets=njets)
    else:
        fastjet_args = dict(ptmin=ptmin)

    from heppy.analyzers.fcc.JetClusterizer import JetClusterizer
    gen_jets = cfg.Analyzer(
        JetClusterizer,
        output='gen_jets',
        particles=gen_ptcs,
        fastjet_args=fastjet_args,
    )

    jets = cfg.Analyzer(
        JetClusterizer,
        output='jets',
        particles=rec_ptcs,
        fastjet_args=fastjet_args,
    )

    from heppy.analyzers.Matcher import Matcher
    jet_match = cfg.Analyzer(Matcher,
                             match_particles='jets',
                             particles='gen_jets',
                             delta_r=0.3)

    from heppy.analyzers.JetTreeProducer import JetTreeProducer
    jet_tree = cfg.Analyzer(JetTreeProducer,
                            tree_name='events',
                            tree_title='jets',
                            jets='gen_jets')

    return [gen_jets, jets, jet_match, jet_tree]
def top_constrainer_sequence(cdm_energy):
    from heppy.analyzers.TopConstrainerAnalyzer import TopConstrainerAnalyzer
    top_constrainer = cfg.Analyzer(
        TopConstrainerAnalyzer,
        jets='jets',
        leptons='leptons',
        sqrts=350.,
        top_mass=173.,
        w_mass=80.4,
        tophadRec_m=167.99,
        tophadRec_w=17.94,
        whadRec_m=83.19,
        whadRec_w=16.50,
        toplepRec_m=173.81,
        toplepRec_w=21.06,
        wlepRec_m=98.20,
        wlepRec_w=18.84,
    )

    return [top_constrainer]
示例#7
0
import logging
# next 2 lines necessary to deal with reimports from ipython
logging.shutdown()
reload(logging)
logging.basicConfig(level=logging.WARNING)

comp = cfg.Component(
    'example',
    files = ['top_mu.root']
)
selectedComponents = [comp]

from heppy_fcc.analyzers.FCCReader import FCCReader
source = cfg.Analyzer(
    FCCReader
)  

from ROOT import gSystem
gSystem.Load("libdatamodel")
from eventstore import EventStore as Events


from heppy_fcc.analyzers.LeptonAnalyzer import LeptonAnalyzer
gen_muons = cfg.Analyzer(
    LeptonAnalyzer,
    instance_label = 'gen_muons', 
    particles = 'gen_particles_stable',
    pdgid = 13
)
示例#8
0
source = cfg.Analyzer(
    Reader,
    weights='mcEventWeights',
    gen_particles='skimmedGenParticles',
    met='met',
    electrons='electrons',
    electronITags='electronITags',
    electronsToMC='electronsToMC',
    muons='muons',
    muonITags='muonITags',
    muonsToMC='muonsToMC',

    # main jets trk02
    trkjets02='trkjets02',
    trkbTags02='trkbTags02',
    trkjetsOneSubJettiness02='trkjetsOneSubJettiness02',
    trkjetsTwoSubJettiness02='trkjetsTwoSubJettiness02',
    trkjetsThreeSubJettiness02='trkjetsThreeSubJettiness02',
    trksubjetsSoftDropTagged02='trksubjetsSoftDropTagged02',
    trksubjetsSoftDrop02='trksubjetsSoftDrop02',
    #
    trksubjetsSoftDropTagged04='trksubjetsSoftDropTagged04',
    trksubjetsSoftDrop04='trksubjetsSoftDrop04',
    trksubjetsSoftDropTagged08='trksubjetsSoftDropTagged08',
    trksubjetsSoftDrop08='trksubjetsSoftDrop08',

    # pf jets pf02 for correction
    pfjets02='pfjets02',
    pfbTags02='pfbTags02',
    pfjetsOneSubJettiness02='pfjetsOneSubJettiness02',
    pfjetsTwoSubJettiness02='pfjetsTwoSubJettiness02',
    pfjetsThreeSubJettiness02='pfjetsThreeSubJettiness02',
    pfsubjetsSoftDropTagged02='pfsubjetsSoftDropTagged02',
    pfsubjetsSoftDrop02='pfsubjetsSoftDrop02',

    # used for b-tagging
    pfjets04='pfjets04',
    pfbTags04='pfbTags04',
    pfjetsFlavor04='pfjetsFlavor04',

    # used for mreco
    pfjets08='pfjets08',
    pfbTags08='pfbTags08',
    trkjets04='trkjets04',
    trkjets08='trkjets08',
    photons='photons',
    pfphotons='pfphotons',
    pfcharged='pfcharged',
    pfneutrals='pfneutrals',
)
示例#9
0
source = cfg.Analyzer(
    Reader,

    weights = 'mcEventWeights',
    

    electrons = 'electrons',
    muons = 'muons',

    #main jets trk02
    trkjets02  = 'trkjets02',
    trkbTags02 = 'trkbTags02',

    trkjetsOneSubJettiness02    = 'trkjetsOneSubJettiness02',
    trkjetsTwoSubJettiness02    = 'trkjetsTwoSubJettiness02',
    trkjetsThreeSubJettiness02  = 'trkjetsThreeSubJettiness02',
    trksubjetsSoftDropTagged02  = 'trksubjetsSoftDropTagged02',
    trksubjetsSoftDrop02        = 'trksubjetsSoftDrop02',
    #
    trksubjetsSoftDropTagged04  = 'trksubjetsSoftDropTagged04',
    trksubjetsSoftDrop04        = 'trksubjetsSoftDrop04',
    trksubjetsSoftDropTagged08  = 'trksubjetsSoftDropTagged08',
    trksubjetsSoftDrop08        = 'trksubjetsSoftDrop08',
  
    #pf jets pf02 for correction
    pfjets02  = 'pfjets02',
    pfbTags02 = 'pfbTags02',

    pfjetsOneSubJettiness02    = 'pfjetsOneSubJettiness02',
    pfjetsTwoSubJettiness02    = 'pfjetsTwoSubJettiness02',
    pfjetsThreeSubJettiness02  = 'pfjetsThreeSubJettiness02',
    pfsubjetsSoftDropTagged02  = 'pfsubjetsSoftDropTagged02',
    pfsubjetsSoftDrop02        = 'pfsubjetsSoftDrop02',


    # used for b-tagging
    pfjets04  = 'pfjets04',
    pfbTags04 = 'pfbTags04',

    # used for mreco
    pfjets08  = 'pfjets08',
    pfbTags08 = 'pfbTags08',
    pfjetConst08 = 'pfjetConst08',

    trkjets04  = 'trkjets04',
    trkjets08  = 'trkjets08',
    trkjetConst08 = 'trkjetConst08',

    electronITags = 'electronITags',
    electronsToMC = 'electronsToMC',


    muonITags = 'muonITags',
    muonsToMC = 'muonsToMC',
    met = 'met',
)
示例#10
0
import os
import copy
import heppy.framework.config as cfg

import logging
# next 2 lines necessary to deal with reimports from ipython
logging.shutdown()
reload(logging)
logging.basicConfig(level=logging.WARNING)

comp = cfg.Component('example', files=['top_mu.root'])
selectedComponents = [comp]

from heppy_fcc.analyzers.FCCReader import FCCReader

source = cfg.Analyzer(FCCReader)

from ROOT import gSystem

gSystem.Load("libdatamodel")
from eventstore import EventStore as Events

from heppy_fcc.analyzers.JetClusterizer import JetClusterizer

gen_jets = cfg.Analyzer(JetClusterizer,
                        instance_label='gen',
                        particles='gen_particles_stable')

from heppy_fcc.analyzers.PFSim import PFSim
from heppy_fcc.fastsim.detectors.CMS import CMS
示例#11
0
    files=glob.glob(
        '/afs/cern.ch/work/n/nsolomon/FCC/WorkDir/Mumu/ee_ZH_Z_Hmumu_0.root'))
ZH.splitFactor = len(ZH.files)
Bkg = cfg.Component(
    'Bkg',
    files=glob.glob(
        '/afs/cern.ch/work/n/nsolomon/FCC/WorkDir/backgroundmumu_*.root'))
Bkg.splitFactor = len(Bkg.files)
selectedComponents = [ZH, Bkg]

# read FCC EDM events from the input root file(s)
# do help(Reader) for more information
from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(
    Reader,
    gen_particles='GenParticle',
    gen_vertices='GenVertex',
)

# the papas simulation and reconstruction sequence
from heppy.test.papas_cfg import papas_sequence, detector
from heppy.test.papas_cfg import papasdisplay as display

# Use a Selector to select leptons from the output of papas simulation.
# Currently, we're treating electrons and muons transparently.
# we could use two different instances for the Selector module
# to get separate collections of electrons and muons
# help(Selector) for more information
from heppy.analyzers.Selector import Selector

示例#12
0
#selectedComponents = [comp]

from FCChhAnalyses.analyzers.Reader import Reader

source = cfg.Analyzer(
    Reader,

    weights = 'mcEventWeights',

    gen_particles = 'skimmedGenParticles',
    
    muons = 'muons',
    muonITags = 'muonITags',
    muonsToMC = 'muonsToMC',

    jets = 'pfjets04',
    bTags = 'pfbTags04',
 
    photons = 'photons',
    
    pfphotons = 'pfphotons',
    pfcharged = 'pfcharged',
    pfneutrals = 'pfneutrals',

    met = 'met',

)

from ROOT import gSystem
gSystem.Load("libdatamodelDict")
from EventStore import EventStore as Events
示例#13
0
if sampleName == "all":
  selectedComponents = [
    cmsMatching_QCD_15_3000_L1TMuon_GenJet,
    cmsMatching_QCD_15_3000_L1TEGamma_GenJet,
    cmsMatching_QCD_15_3000_L1TTau_GenJet,
  ]
else:  
  sample = globals()[sampleName]
  selectedComponents = [
    sample
  ]

# Defining pdgids

source = cfg.Analyzer(
  CMSMatchingReader,
)


tfile_service_1 = cfg.Service(
  TFileService,
  'tfile1',
  fname='histograms.root',
  option='recreate'
)

def pt (ptc):
  return ptc.pt()

def deltaPt(ptc):
  return ptc.pt() - ptc.match.pt()
示例#14
0
import os
import heppy.framework.config as cfg
import logging
logging.basicConfig(level=logging.WARNING)

# input component
# several input components can be declared and added to the list of selected components
input_component = cfg.Component('Z2uu', files = ['/afs/cern.ch/work/a/ansemkiv/private/FCC/analysis/Z2uubar_100.root'])

selected_components  = [input_component]

# analyzers

# analyzer for signal events
from heppy_fcc.analyzers.Z2UUAnalyzer import Z2UUAnalyzer
ana = cfg.Analyzer(Z2UUAnalyzer)

# definition of a sequence of analyzers, the analyzers will process each event in this order
sequence = cfg.Sequence([ana])

# finalization of the configuration object.
from ROOT import gSystem
gSystem.Load('libdatamodel')
from EventStore import EventStore as Events
config = cfg.Config(components = selected_components, sequence = sequence, services = [], events_class = Events)
示例#15
0
source = cfg.Analyzer(
    Reader,
    weights='mcEventWeights',
    gen_particles='skimmedGenParticles',
    met='met',
    electrons='electrons',
    muons='muons',

    #main jets trk02
    trkjets02='trkjets02',
    trkbTags02='trkbTags02',
    trkjetsOneSubJettiness02='trkjetsOneSubJettiness02',
    trkjetsTwoSubJettiness02='trkjetsTwoSubJettiness02',
    trkjetsThreeSubJettiness02='trkjetsThreeSubJettiness02',
    trksubjetsSoftDropTagged02='trksubjetsSoftDropTagged02',
    trksubjetsSoftDrop02='trksubjetsSoftDrop02',
    #
    trksubjetsSoftDropTagged04='trksubjetsSoftDropTagged04',
    trksubjetsSoftDrop04='trksubjetsSoftDrop04',
    trksubjetsSoftDropTagged08='trksubjetsSoftDropTagged08',
    trksubjetsSoftDrop08='trksubjetsSoftDrop08',

    #pf jets pf02 for correction
    pfjets02='pfjets02',
    pfbTags02='pfbTags02',
    pfjetsOneSubJettiness02='pfjetsOneSubJettiness02',
    pfjetsTwoSubJettiness02='pfjetsTwoSubJettiness02',
    pfjetsThreeSubJettiness02='pfjetsThreeSubJettiness02',
    pfsubjetsSoftDropTagged02='pfsubjetsSoftDropTagged02',
    pfsubjetsSoftDrop02='pfsubjetsSoftDrop02',

    # used for b-tagging
    pfjets04='pfjets04',
    pfbTags04='pfbTags04',
    pfjetsFlavor04='pfjetsFlavor04',

    # used for mreco
    pfjets08='pfjets08',
    pfbTags08='pfbTags08',
    trkjets04='trkjets04',
    trkjets08='trkjets08',
)
示例#16
0
import heppy.framework.config as cfg
from heppy.configuration import Collider

# Use a Filter to select stable gen particles for simulation
# from the output of "source"
# help(Filter) for more information
from heppy.analyzers.Filter import Filter
gen_particles_stable = cfg.Analyzer(
    Filter,
    output='gen_particles_stable',
    # output = 'particles',
    input_objects='gen_particles',
    filter_func=lambda x: x.status() == 1 and abs(x.pdgid()) not in
    [12, 14, 16] and x.pt() > 1e-5)

# configure the papas fast simulation with the CMS detector
# help(Papas) for more information
# history nodes keeps track of which particles produced which tracks, clusters
from heppy.analyzers.PapasSim import PapasSim
# from heppy.analyzers.Papas import Papas
from heppy.papas.detectors.CMS import CMS
detector = CMS()

papas = cfg.Analyzer(PapasSim,
                     instance_label='papas',
                     detector=detector,
                     gen_particles='gen_particles_stable',
                     sim_particles='sim_particles',
                     merged_ecals='ecal_clusters',
                     merged_hcals='hcal_clusters',
                     tracks='tracks',
示例#17
0
selectedComponents = [
    NeutrinoGun_PU140_14TeV_OnlyGenParticleClassification_JetPTMin_3_PropagatedGenJetAtECAL_VertexSpread
]

# Defining pdgids

pdgIds = {'electron-': 11, 'muon-': 13, 'tau-': 15, 'photon': 22}

source = cfg.Analyzer(
    Reader,

    #gen_particles = 'skimmedGenParticles',

    #gen_jets = 'nonPropagatedGenJets',
    #jets = 'propagatedGenJets',

    #electrons = 'genElectrons',
    muons='genMuons',

    #photons = 'genPhotons',
    #met = 'genMET',
)
'''
  Creates particle checker functions. 
  The function checks the absolute value of the pdgId to identify the class of particle and verifies that it is in the |eta|<6 region.
  It does not distinguish between particles and anti-particles
'''


def particleCheckerFactory(ptcName):
    def particleChecker(ptc):
#if specified in sample, a specific set will be used, otherwise the full set will be employed
if "sample" in _heppyGlobalOptions:
    sampleName = _heppyGlobalOptions["sample"]
if sampleName == "all":
    selectedComponents = [
        cmsMatching_QCD_15_3000_L1TMuon_GenJet,
        cmsMatching_QCD_15_3000_L1TEGamma_GenJet,
        cmsMatching_QCD_15_3000_L1TTau_GenJet,
    ]
else:
    sample = globals()[sampleName]
    selectedComponents = [sample]

# Defining pdgids

source = cfg.Analyzer(CMSMatchingReader, )

tfile_service_1 = cfg.Service(TFileService,
                              'tfile1',
                              fname='histograms.root',
                              option='recreate')


def pt(ptc):
    return ptc.pt()


def deltaPt(ptc):
    return ptc.pt() - ptc.match.pt()

示例#19
0
from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(
    Reader,

    weights = 'mcEventWeights',

    gen_particles = 'skimmedGenParticles',

    electrons = 'electrons',
    electronITags = 'electronITags',
    electronsToMC = 'electronsToMC',

    muons = 'muons',
    muonITags = 'muonITags',
    muonsToMC = 'muonsToMC',

    jets = 'jets',
    bTags = 'bTags',

    photons = 'photons',
    
    pfphotons = 'pfphotons',
    pfcharged = 'pfcharged',
    pfneutrals = 'pfneutrals',

    met = 'met',

)

from ROOT import gSystem
示例#20
0
pp_vvv01j_5f_HT_3000_6000.splitFactor = 20
pp_vvv01j_5f_HT_6000_100000.splitFactor = 20
pp_vvv01j_5f.splitFactor = 20
'''
selectedComponents = [comp]

from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(
    Reader,
    weights='mcEventWeights',
    gen_particles='skimmedGenParticles',
    electrons='electrons',
    electronITags='electronITags',
    electronsToMC='electronsToMC',
    muons='muons',
    muonITags='muonITags',
    muonsToMC='muonsToMC',
    jets='jets',
    bTags='bTags',
    photons='photons',
    pfphotons='pfphotons',
    pfcharged='pfcharged',
    pfneutrals='pfneutrals',
    met='met',
)

from ROOT import gSystem
gSystem.Load("libdatamodelDict")
from EventStore import EventStore as Events

#############################
##   Reco Level Analysis   ##
示例#21
0
sample.p8_pp_ExcitedQ_45TeV_qq.splitFactor = splitFac
sample.p8_pp_ExcitedQ_50TeV_qq.splitFactor = splitFac
sample.mgp8_pp_jj_lo.splitFactor = 200

#selectedComponents = [comp]




from heppy.FCChhAnalyses.analyzers.Reader import Reader
source = cfg.Analyzer(
    Reader,

    weights = 'mcEventWeights',
    met = 'met',   

    #main jets trk02
    calojets04  = 'calojets04',
    pfjets04  = 'pfjets04',

)


from ROOT import gSystem
gSystem.Load("libdatamodelDict")
from EventStore import EventStore as Events

#############################
##   Reco Level Analysis   ##
#############################
bgana = cfg.Analyzer(
    BackgroundBs2DsDsKWithDs2PiPiPiPiAndDs2TauNuAnalyzer,
    smear_momentum=True,
    momentum_x_resolution=0.01,
    momentum_y_resolution=0.01,
    momentum_z_resolution=0.01,
    smear_pv=True,
    #  IDL-like res
    pv_x_resolution=0.0025,
    pv_y_resolution=0.0025,
    pv_z_resolution=0.0025,
    #  progressive res
    #  pv_x_resolution = 0.001,
    #  pv_y_resolution = 0.001,
    #  pv_z_resolution = 0.001,
    #  outstanding res
    #  pv_x_resolution = 0.0005,
    #  pv_y_resolution = 0.0005,
    #  pv_z_resolution = 0.0005,
    smear_sv=True,
    #  IDL-like res
    sv_x_resolution=0.007,
    sv_y_resolution=0.007,
    sv_z_resolution=0.007,
    #  progressive res
    #  sv_x_resolution = 0.003,
    #  sv_y_resolution = 0.003,
    #  sv_z_resolution = 0.003,
    #  outstanding res
    #  sv_x_resolution = 0.0015,
    #  sv_y_resolution = 0.0015,
    #  sv_z_resolution = 0.0015,
    smear_tv=True,
    #  IDL-like res
    tv_x_resolution=0.005,
    tv_y_resolution=0.005,
    tv_z_resolution=0.005,
    #  progressive res
    #  tv_x_resolution = 0.002,
    #  tv_y_resolution = 0.002,
    #  tv_z_resolution = 0.002,
    #  outstanding res
    #  tv_x_resolution = 0.001,
    #  tv_y_resolution = 0.001,
    #  tv_z_resolution = 0.001,
    stylepath=os.environ.get('FCC') + 'lhcbstyle.C',
    tree_name='Events',
    tree_title='Events',
    mc_truth_tree_name='MCTruth',
    mc_truth_tree_title='MC Truth',
    verbose=False)
import logging
# next 2 lines necessary to deal with reimports from ipython
logging.shutdown()
reload(logging)
logging.basicConfig(level=logging.WARNING)

comp = cfg.Component('example', files=['FCCDelphesOutput.root'])
selectedComponents = [comp]

from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(
    Reader,
    weights='mcEventWeights',
    gen_particles='skimmedGenParticles',
    electrons='electrons',
    electronITags='electronITags',
    electronsToMC='electronsToMC',
    muons='muons',
    muonITags='muonITags',
    muonsToMC='muonsToMC',
)

from ROOT import gSystem
gSystem.Load("libdatamodelDict")
from EventStore import EventStore as Events

#############################
##   Gen Level Analysis    ##
#############################

# select stable electrons and muons
    'kaon_short': 310,
    'bottom': 5
}

# Defining pdgids

source = cfg.Analyzer(
    Reader,
    gen_particles='skimmedGenParticles',
    #gen_vertices = 'genVertices',
    gen_jets='genJets',

    #jets = 'jets',
    #bTags = 'bTags',
    #cTags = 'cTags',
    #tauTags = 'tauTags',

    #electrons = 'electrons',
    #electronITags = 'electronITags',

    #muons = 'muons',
    #muonITags = 'muonITags',

    #photons = 'photons',
    #met = 'met',
)

tfile_service_1 = cfg.Service(TFileService,
                              'tfile1',
                              fname='histograms.root',
                              option='recreate')
示例#25
0
sample.mgp8_pp_jj_5f_HT_5000_10000.splitFactor = splitFac2
sample.mgp8_pp_jj_5f_HT_10000_27000.splitFactor = splitFac2
sample.mgp8_pp_jj_5f_HT_27000_100000.splitFactor = splitFac2

#selectedComponents = [comp]

from heppy.FCChhAnalyses.analyzers.Reader import Reader

source = cfg.Analyzer(
    Reader,
    weights='mcEventWeights',
    gen_particles='skimmedGenParticles',
    electrons='electrons',
    electronITags='electronITags',
    electronsToMC='electronsToMC',
    muons='muons',
    muonITags='muonITags',
    muonsToMC='muonsToMC',

    # used for tau-tagging
    pfjets04='pfjets04',
    pftauTags04='pftauTags04',
    met='met',
)

from ROOT import gSystem
gSystem.Load("libdatamodelDict")
from EventStore import EventStore as Events

#############################
##   Reco Level Analysis   ##
#############################
示例#26
0
sigana = cfg.Analyzer(Bs2TauTauAnalyzer,
                     smear_pv = True,
                    #  IDL-like res
                     pv_x_resolution = 0.0025,
                     pv_y_resolution = 0.0025,
                     pv_z_resolution = 0.0025,
                    #  progressive res
                    #  pv_x_resolution = 0.001,
                    #  pv_y_resolution = 0.001,
                    #  pv_z_resolution = 0.001,
                    #  smear_sv = True,
                    #  IDL-like res
                    #  sv_x_resolution = 0.007,
                    #  sv_y_resolution = 0.007,
                    #  sv_z_resolution = 0.007,
                    #  progressive res
                    #  sv_x_resolution = 0.003,
                    #  sv_y_resolution = 0.003,
                    #  sv_z_resolution = 0.003,
                     smear_tv = True,
                    #  IDL-like res
                     tv_x_resolution = 0.005,
                     tv_y_resolution = 0.005,
                     tv_z_resolution = 0.005,
                    #  progressive res
                    #  tv_x_resolution = 0.002,
                    #  tv_y_resolution = 0.002,
                    #  tv_z_resolution = 0.002,
                     smear_momentum = True,
                     momentum_x_resolution = 0.01,
                     momentum_y_resolution = 0.01,
                     momentum_z_resolution = 0.01,
                     stylepath = os.environ.get('FCC') + 'lhcbstyle.C',
                     tree_name = 'Events',
                     tree_title = 'Events',
                     mc_truth_tree_name = 'MCTruth',
                     mc_truth_tree_title = 'MC Truth',
                     verbose = False)
示例#27
0
comp = cfg.Component(
    'ee_Z_ee',
    files=[
        # here we have a single input root file.
        # the absolute path must be used to be able to run on the batch.
        os.environ['HEPPY'] + '/test/ee_Z_ee.root'
    ])

# selecting the list of components to be processed. Here only one.
selectedComponents = [comp]

# read FCC EDM events from the input root file(s)
# do help(Reader) for more information
from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(Reader,
                      gen_particles='GenParticle',
                      gen_vertices='GenVertex')

# importing the papas simulation and reconstruction sequence,
# as well as the detector used in papas
# check papas_cfg.py for more information
from heppy.test.papas_cfg import papas, papas_sequence, detector

from heppy.test.papas_cfg import papasdisplaycompare as display

from heppy.analyzers.SingleJetBuilder import SingleJetBuilder
sum_particles = cfg.Analyzer(SingleJetBuilder,
                             output='sum_all_ptcs',
                             particles='rec_particles')

sum_gen = cfg.Analyzer(SingleJetBuilder,
示例#28
0
comp = cfg.Component(
    'ee_ZH_Zmumu_Hbb',
    files=[
        # here we have a single input root file.
        # the absolute path must be used to be able to run on the batch.
        os.path.abspath('ee_ZH_Zmumu_Hbb.root')
    ])

# selecting the list of components to be processed. Here only one.
selectedComponents = [comp]

# read FCC EDM events from the input root file(s)
# do help(Reader) for more information
from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(Reader,
                      gen_particles='GenParticle',
                      gen_vertices='GenVertex')

# Use a Selector to select leptons from the output of papas simulation.
# Currently, we're treating electrons and muons transparently.
# we could use two different instances for the Selector module
# to get separate collections of electrons and muons
# help(Selector) for more information
from heppy.analyzers.Selector import Selector
leptons_true = cfg.Analyzer(Selector,
                            'sel_leptons',
                            output='leptons_true',
                            input_objects='gen_particles',
                            filter_func=lambda ptc: ptc.e() > 10. and abs(
                                ptc.pdgid()) in [11, 13] and ptc.status() == 1)
示例#29
0
pp_jjja_5f_14TeV.splitFactor = 20

selectedComponents = [comp]

#from heppy.FCChhAnalyses.analyzers.OldReader import Reader
from heppy.FCChhAnalyses.analyzers.Reader import Reader

source = cfg.Analyzer(
    Reader,
    weights='mcEventWeights',
    gen_particles='skimmedGenParticles',
    jets='jets',
    bTags='bTags',
    photons='photons',
    photonsToMC='photonsToMC',
    photonITags='photonITags',
    electrons='electrons',
    electronITags='electronITags',
    electronsToMC='electronsToMC',
    muons='muons',
    muonITags='muonITags',
    muonsToMC='muonsToMC',
    met='met',
)

from ROOT import gSystem

gSystem.Load("libdatamodelDict")
from EventStore import EventStore as Events

#############################
示例#30
0
random.seed(0xdeadbeef)

# definition of the collider
from heppy.configuration import Collider
Collider.BEAMS = 'ee'
Collider.SQRTS = 240.

# input definition
comp = cfg.Component('ee_ZH_Z_Hbb', files=['ee_ZH_Z_Hbb.root'])
selectedComponents = [comp]

# read FCC EDM events from the input root file(s)
# do help(Reader) for more information
from heppy.analyzers.fcc.Reader import Reader
source = cfg.Analyzer(Reader,
                      gen_particles='GenParticle',
                      gen_vertices='GenVertex')

# the papas simulation and reconstruction sequence
from heppy.test.papas_cfg import papas_sequence, detector

# Use a Selector to select leptons from the output of papas simulation.
# Currently, we're treating electrons and muons transparently.
# we could use two different instances for the Selector module
# to get separate collections of electrons and muons
# help(Selector) for more information
from heppy.analyzers.Selector import Selector


def is_lepton(ptc):
    return ptc.e() > 5. and abs(ptc.pdgid()) in [11, 13]