Skip to content
This repository has been archived by the owner on May 2, 2022. It is now read-only.

Commit

Permalink
update tables in examples/dataframe/extra
Browse files Browse the repository at this point in the history
  • Loading branch information
TaiSakuma committed Oct 19, 2016
1 parent f64faee commit 8f5c462
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 57 deletions.
8 changes: 5 additions & 3 deletions examples/dataframe/extra/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ This directory contains the script used to generate three input data frame files

The script can be ran, for example, with the following arguments:

./createInputFiles.py -p 8 -i /afs/cern.ch/work/a/aelwood/public/alphaT/cmgtools/PHYS14/20150331_SingleMu -o ./
```
./createInputFiles.py -p 5 -i /afs/cern.ch/work/s/sakuma/public/cms/c150130_RA1_data/80X/MC/20160811_B01/ROC_MC_SM -o ./
```

The command will create three files: _tbl_component_met.txt_, _tbl_nevt.txt_, _tbl_xsec.txt_.
The command will create three files: `tbl_component_met.txt`, `tbl_nevt.txt`, `tbl_xsec.txt`.

This directory also contains a data frame file _tbl_process.txt_. This file was not generated. It was written by hand.
This directory also contains a data frame file `tbl_process.txt`. This file was not generated. It was written by hand.
78 changes: 55 additions & 23 deletions examples/dataframe/extra/createInputFiles.py
Original file line number Diff line number Diff line change
@@ -1,48 +1,81 @@
#!/usr/bin/env python
# Tai Sakuma <tai.sakuma@cern.ch>
from AlphaTwirl.Counter import Counts
from AlphaTwirl.Binning import RoundLog, Echo
from AlphaTwirl.HeppyResult import TblXsec, TblCounter
import AlphaTwirl
import os
import argparse


import AlphaTwirl
import AlphaTwirl.HeppyResult as HeppyResult
HeppyResult.componentHasTheseFiles[:] = ['roctree']

##__________________________________________________________________||
alphaTwirl = AlphaTwirl.AlphaTwirl()
parser = argparse.ArgumentParser()
parser.add_argument('-o', '--outDir', default = os.path.join('tbl', 'out'))
parser.add_argument('-n', '--nevents', default = -1, type = int, help = 'maximum number of events to process for each component')
parser.add_argument('--max-events-per-process', default = -1, type = int, help = 'maximum number of events per process')

configurer = AlphaTwirl.AlphaTwirlConfigurerFromArgs()
configurer.add_arguments(parser)

parser = alphaTwirl.ArgumentParser()
args = parser.parse_args()

cfg = configurer.configure(args)
alphaTwirl = AlphaTwirl.AlphaTwirl(config = cfg)

##__________________________________________________________________||
alphaTwirl.addComponentReader(TblXsec(os.path.join(args.outDir, 'tbl_xsec.txt')))
analyzerName = 'roctree'
fileName = 'tree.root'
treeName = 'tree'

tblNevt = TblCounter(
outPath = os.path.join(args.outDir, 'tbl_nevt.txt'),
columnNames = ('nevt', ),
##__________________________________________________________________||
tbl_xsec_path = os.path.join(args.outDir, 'tbl_xsec.txt')
tblXsec = HeppyResult.TblComponentConfig(
outPath = tbl_xsec_path,
columnNames = ('xsec', ),
keys = ('xSection', ),
)
alphaTwirl.addComponentReader(tblXsec)

tbl_nevt_path = os.path.join(args.outDir, 'tbl_nevt.txt')
tblNevt = HeppyResult.TblCounter(
outPath = tbl_nevt_path,
columnNames = ('nevt', 'nevt_sumw'),
analyzerName = 'skimAnalyzerCount',
fileName = 'SkimReport.txt',
levels = ('All Events', )
)
levels = ('All Events', 'Sum Weights')
)
alphaTwirl.addComponentReader(tblNevt)

##__________________________________________________________________||
from AlphaTwirl.Binning import RoundLog
tblcfg = [
dict(outFileName = 'tbl_component_met.txt',
branchNames = ('met_pt', ),
outColumnNames = ('met', ),
binnings = (RoundLog(0.1, 0), ),
dict(
keyAttrNames = ('met_pt', ),
binnings = (RoundLog(0.1, 10), ),
keyOutColumnNames = ('met', ),
)
]

alphaTwirl.addTreeReader(
analyzerName = 'treeProducerSusyAlphaT',
fileName = 'tree.root',
treeName = 'tree',
tableConfigs = tblcfg,
eventSelection = None,
tableConfigCompleter = AlphaTwirl.Configure.TableConfigCompleter(
defaultSummaryClass = AlphaTwirl.Summary.Count,
defaultOutDir = args.outDir,
createOutFileName = AlphaTwirl.Configure.TableFileNameComposer2()
)
tblcfg = [tableConfigCompleter.complete(c) for c in tblcfg]

reader_collector_pair = [AlphaTwirl.Configure.build_counter_collector_pair(c) for c in tblcfg]
reader = AlphaTwirl.Loop.ReaderComposite()
collector = AlphaTwirl.Loop.CollectorComposite(alphaTwirl.progressMonitor.createReporter())
for r, c in reader_collector_pair:
reader.add(r)
collector.add(c)
eventLoopRunner = AlphaTwirl.Loop.MPEventLoopRunner(alphaTwirl.communicationChannel)
eventBuilder = AlphaTwirl.HeppyResult.BEventBuilder(analyzerName, fileName, treeName, args.nevents)
eventReader = AlphaTwirl.Loop.EventReader(eventBuilder, eventLoopRunner, reader, collector, args.max_events_per_process)
alphaTwirl.addComponentReader(eventReader)

alphaTwirl.run()
alphaTwirl.end()

##__________________________________________________________________||
import pandas as pd
Expand All @@ -59,5 +92,4 @@
f.write("\n")
f.close()


##__________________________________________________________________||
62 changes: 31 additions & 31 deletions examples/dataframe/extra/tbl_process.txt
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
component phasespace process
QCD_HT_100To250 QCD_HT_100To250 QCD
QCD_HT_250To500 QCD_HT_250To500 QCD
QCD_HT_250To500_ext1 QCD_HT_250To500 QCD
QCD_HT_500To1000 QCD_HT_500To1000 QCD
QCD_HT_500To1000_ext1 QCD_HT_500To1000 QCD
QCD_HT_1000ToInf QCD_HT_1000ToInf QCD
QCD_HT_1000ToInf_ext1 QCD_HT_1000ToInf QCD
T_tWch T_tWch T
TBar_tWch TBar_tWch T
TBarToLeptons_sch TBarToLeptons_sch T
TBarToLeptons_tch TBarToLeptons_tch T
TToLeptons_sch TToLeptons_sch T
TToLeptons_tch TToLeptons_tch T
TTJets TTJets TTJets
WJetsToLNu_HT100to200 WJetsToLNu_HT100to200 WJetsToLNu
WJetsToLNu_HT200to400 WJetsToLNu_HT200to400 WJetsToLNu
WJetsToLNu_HT400to600 WJetsToLNu_HT400to600 WJetsToLNu
WJetsToLNu_HT600toInf WJetsToLNu_HT600toInf WJetsToLNu
ZJetsToNuNu_HT100to200 ZJetsToNuNu_HT100to200 ZJetsToNuNu
ZJetsToNuNu_HT200to400 ZJetsToNuNu_HT200to400 ZJetsToNuNu
ZJetsToNuNu_HT400to600 ZJetsToNuNu_HT400to600 ZJetsToNuNu
ZJetsToNuNu_HT600toInf ZJetsToNuNu_HT600toInf ZJetsToNuNu
DYJetsToLL_M50_HT100to200 DYJetsToLL_M50_HT100to200 DYJetsToLL
DYJetsToLL_M50_HT200to400 DYJetsToLL_M50_HT200to400 DYJetsToLL
DYJetsToLL_M50_HT400to600 DYJetsToLL_M50_HT400to600 DYJetsToLL
DYJetsToLL_M50_HT600toInf DYJetsToLL_M50_HT600toInf DYJetsToLL
GJets_HT100to200 GJets_HT100to200 GJets
GJets_HT200to400 GJets_HT200to400 GJets
GJets_HT400to600 GJets_HT400to600 GJets
GJets_HT600toInf GJets_HT600toInf GJets
component phasespace process
QCD_HT100to200_madgraphMLM QCD_HT100to200_madgraphMLM QCD
QCD_HT200to300_madgraphMLM QCD_HT200to300_madgraphMLM QCD
QCD_HT300to500_madgraphMLM QCD_HT300to500_madgraphMLM QCD
QCD_HT500to700_madgraphMLM QCD_HT500to700_madgraphMLM QCD
QCD_HT700to1000_madgraphMLM QCD_HT700to1000_madgraphMLM QCD
QCD_HT1000to1500_madgraphMLM QCD_HT1000to1500_madgraphMLM QCD
QCD_HT1500to2000_madgraphMLM QCD_HT1500to2000_madgraphMLM QCD
QCD_HT2000toInf_madgraphMLM QCD_HT2000toInf_madgraphMLM QCD
TTJets_DiLept_madgraphMLM TTJets_DiLept_madgraphMLM TTJets
TTJets_HT600to800_madgraphMLM TTJets_HT600to800_madgraphMLM TTJets
TTJets_HT800to1200_madgraphMLM TTJets_HT800to1200_madgraphMLM TTJets
TTJets_HT1200to2500_madgraphMLM TTJets_HT1200to2500_madgraphMLM TTJets
TTJets_HT2500toInf_madgraphMLM TTJets_HT2500toInf_madgraphMLM TTJets
TTJets_SingleLeptFromT_madgraphMLM TTJets_SingleLeptFromT_madgraphMLM TTJets
TTJets_SingleLeptFromTbar_madgraphMLM TTJets_SingleLeptFromTbar_madgraphMLM TTJets
TTJets_madgraphMLM TTJets_madgraphMLM TTJets
WJetsToLNu_HT100to200_madgraphMLM WJetsToLNu_HT100to200_madgraphMLM WJetsToLNu
WJetsToLNu_HT200to400_madgraphMLM WJetsToLNu_HT200to400_madgraphMLM WJetsToLNu
WJetsToLNu_HT400to600_madgraphMLM WJetsToLNu_HT400to600_madgraphMLM WJetsToLNu
WJetsToLNu_HT600to800_madgraphMLM WJetsToLNu_HT600to800_madgraphMLM WJetsToLNu
WJetsToLNu_HT800to1200_madgraphMLM WJetsToLNu_HT800to1200_madgraphMLM WJetsToLNu
WJetsToLNu_HT1200to2500_madgraphMLM WJetsToLNu_HT1200to2500_madgraphMLM WJetsToLNu
WJetsToLNu_HT2500toInf_madgraphMLM WJetsToLNu_HT2500toInf_madgraphMLM WJetsToLNu
ZJetsToNuNu_HT100to200_madgraph ZJetsToNuNu_HT100to200_madgraph ZJetsToNuNu
ZJetsToNuNu_HT200to400_madgraph ZJetsToNuNu_HT200to400_madgraph ZJetsToNuNu
ZJetsToNuNu_HT400to600_madgraph ZJetsToNuNu_HT400to600_madgraph ZJetsToNuNu
ZJetsToNuNu_HT600to800_madgraph ZJetsToNuNu_HT600to800_madgraph ZJetsToNuNu
ZJetsToNuNu_HT800to1200_madgraph ZJetsToNuNu_HT800to1200_madgraph ZJetsToNuNu
ZJetsToNuNu_HT1200to2500_madgraph ZJetsToNuNu_HT1200to2500_madgraph ZJetsToNuNu
ZJetsToNuNu_HT2500toInf_madgraph ZJetsToNuNu_HT2500toInf_madgraph ZJetsToNuNu

0 comments on commit 8f5c462

Please sign in to comment.