Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
7fdaafa
Merge pull request #1 from jsturdy/simplified-workflow
jsturdy Sep 28, 2017
ae83494
added in tree variables to merge CI samples based on gen level cuts
jsturdy Oct 5, 2017
2ca9022
add tree variables, adapt to be compatible with TFileService
jsturdy Oct 5, 2017
b33e135
* updated config to read in from dict pickle sample info to put into …
jsturdy Oct 6, 2017
21bf01a
Added updated config to parse MC files and import the xsec info if ne…
jsturdy Oct 6, 2017
50277aa
picked up some whitespace corrections
jsturdy Oct 6, 2017
dd85284
Reverted TFileService access for testing
jsturdy Oct 6, 2017
cf97860
added wsuciutils submodule
jsturdy Oct 6, 2017
fb5e68e
Import stuff from the wsuciutils package
jsturdy Oct 6, 2017
62b223c
Update pointer to wsuciutils submodule
jsturdy Oct 6, 2017
ec367bc
updates setup script
jsturdy Oct 6, 2017
c08ad71
update setup script for WSUDiLeptons
jsturdy Oct 6, 2017
5ce6ffa
Merge pull request #3 from jsturdy/non-tfileservice-outputfile
jsturdy Oct 6, 2017
7c8cb6b
added crab submission config for CI samples
jsturdy Oct 6, 2017
76f208f
Merge pull request #4 from jsturdy/non-tfileservice-outputfile
jsturdy Oct 6, 2017
7bf2ed0
Update setup.sh
jsturdy Oct 10, 2017
ac1c1c9
Added multicrab script and special driver file, (work in progress) bu…
jsturdy Oct 11, 2017
2d70d5a
Merge pull request #5 from jsturdy/non-tfileservice-outputfile
jsturdy Oct 11, 2017
09ed94f
helpers for processing many samples with multicrab
jsturdy Oct 12, 2017
fffa62d
Merge pull request #6 from jsturdy/non-tfileservice-outputfile
jsturdy Oct 12, 2017
16c2f4e
added 100kTeV samples published by crab
jsturdy Oct 16, 2017
99abdc1
add special handling for private published datasets
jsturdy Oct 16, 2017
fa666b4
more flexibility
jsturdy Oct 26, 2017
7f3a1bf
Merge pull request #7 from jsturdy/non-tfileservice-outputfile
jsturdy Oct 26, 2017
c5720a0
updates to multicrab to better handle different CI sample types
jsturdy Oct 27, 2017
87d45b8
updated sample list dicts
jsturdy Oct 27, 2017
49be74b
Updates for 10TeV samples processing
jsturdy Oct 27, 2017
fd1172e
parsing more private samples
jsturdy Oct 27, 2017
039bca7
fixed some syntax issues with parsing the 10TeV sample names
jsturdy Oct 27, 2017
538f3fa
moved some print statments to better locations
jsturdy Oct 27, 2017
491438a
Merge pull request #8 from jsturdy/non-tfileservice-outputfile
jsturdy Oct 27, 2017
8067a75
fix some issues with yet another difference in output dataset naming …
jsturdy Nov 8, 2017
9340243
uncommented out some test lines
jsturdy Nov 10, 2017
3248fb6
Merge pull request #9 from jsturdy/non-tfileservice-outputfile
jsturdy Nov 10, 2017
fde77af
update driver settings for DY samples
jsturdy Dec 14, 2017
fca25fd
update submodule
jsturdy Dec 14, 2017
0992fbb
updates for DY and new filtering
jsturdy Dec 14, 2017
9243ae1
updates for DY and new filtering
jsturdy Dec 15, 2017
ae8674b
updates for DY and new filtering
jsturdy Dec 15, 2017
6f18a09
updated ci_driver for DY samples
jsturdy Dec 19, 2017
6289813
updated wsuciutils
jsturdy Dec 19, 2017
ae959fa
Merge pull request #2 from jsturdy/non-tfileservice-outputfile
jsturdy Dec 19, 2017
0718022
added script to create CI sample lists
jsturdy Dec 19, 2017
da3aaa5
pushed wsuciutils to version with plotting tools
jsturdy Dec 19, 2017
4f59c16
Merge pull request #10 from jsturdy/release-80x
jsturdy Dec 19, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "Analyzer/python/wsuciutils"]
path = Analyzer/python/wsuciutils
url = [email protected]:jsturdy/wsu-ci-analysis-tools.git
4 changes: 4 additions & 0 deletions Analyzer/plugins/BuildFile.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<export>
</export>
<library name="ZprimeDiLeptons_Analyzer_plugins" file="*.cc">
<flags CXXFLAGS="-O0 -g3 -fno-inline"/>
<flags CXX_FLAGS="-O0 -g3 -fno-inline"/>
<use name="root"/>
<use name="FWCore/ServiceRegistry"/>
<use name="ZprimeDiLeptons/Analyzer"/>
</library>
290 changes: 145 additions & 145 deletions Analyzer/plugins/MakeZprimeMiniAodTree.cc

Large diffs are not rendered by default.

260 changes: 130 additions & 130 deletions Analyzer/plugins/MakeZprimeMiniAodTreeHEEP.cc

Large diffs are not rendered by default.

419 changes: 267 additions & 152 deletions Analyzer/plugins/MakeZprimeMiniAodTreeMC.cc

Large diffs are not rendered by default.

288 changes: 144 additions & 144 deletions Analyzer/plugins/MakeZprimeMiniAodTreeMuon.cc

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Analyzer/python/wsuciutils
Submodule wsuciutils added at f1b8ea
261 changes: 261 additions & 0 deletions Analyzer/test/ci_2e_samples.py

Large diffs are not rendered by default.

261 changes: 261 additions & 0 deletions Analyzer/test/ci_2mu_samples.py

Large diffs are not rendered by default.

81 changes: 81 additions & 0 deletions Analyzer/test/ci_driver.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import os

class ciDriver:

def __init__(self,*args,**kwargs):
from ci_2mu_samples import cito2musamples
from ci_2e_samples import cito2esamples
from dy_2mu_samples import dyto2musamples
from dy_2e_samples import dyto2esamples

print("args:",args)
print("kwargs",kwargs)

self.isDY = False
self.dy = args[0]
self.lam = None
self.intf = None
self.heli = None

if self.dy in ["DYTo2L"]:
self.isDY = True
else:
self.isDY = False
self.lam = args[0]
self.intf = args[1]
self.heli = args[2]
pass

if self.lam in ["Lam10","Lam100k"]:
self.dbs = "phys03"
else:
self.dbs = "global"
pass

if self.isDY:
self.dyto2musamples = dyto2musamples["DY"]
self.dyto2esamples = dyto2esamples["DY"]
else:
self.cito2musamples = cito2musamples[self.lam][self.intf][self.heli]
self.cito2esamples = cito2esamples[self.lam][self.intf][self.heli]
pass
pass

def getJobOptions(self):
if self.isDY:
mcfiles = list(mu for mu in self.dyto2musamples) + list(e for e in self.dyto2esamples)
else:
mcfiles = list(mu for mu in self.cito2musamples) + list(e for e in self.cito2esamples)
pass

ci_job_options = {
"storageSite":"T3_US_FNALLPC",
"lfnBaseDir": "/store/user/%s/CINtuples_Dec15"%(os.getenv("USER")),
"cfgFile": "runMakeZprimeMiniAodTreeMC_cfg.py",
"dbs": self.dbs,
"datasets": {
"MC": mcfiles,
"data": [
# ["/SingleMuon/Run2016B-23Sep2016-v3/MINIAOD",json],
# ["/SingleMuon/Run2016C-23Sep2016-v1/MINIAOD",json],
# ["/SingleMuon/Run2016D-23Sep2016-v1/MINIAOD",json],
# ["/SingleMuon/Run2016E-23Sep2016-v1/MINIAOD",json],
# ["/SingleMuon/Run2016F-23Sep2016-v1/MINIAOD",json],
# ["/SingleMuon/Run2016G-23Sep2016-v1/MINIAOD",json],
# ["/SingleMuon/Run2016H-PromptReco-v1/MINIAOD",json],
# ["/SingleMuon/Run2016H-PromptReco-v2/MINIAOD",json],
# ["/SingleMuon/Run2016H-PromptReco-v3/MINIAOD",json],
# ["/SingleElectron/Run2016B-23Sep2016-v3/MINIAOD",json],
# ["/SingleElectron/Run2016C-23Sep2016-v1/MINIAOD",json],
# ["/SingleElectron/Run2016D-23Sep2016-v1/MINIAOD",json],
# ["/SingleElectron/Run2016E-23Sep2016-v1/MINIAOD",json],
# ["/SingleElectron/Run2016F-23Sep2016-v1/MINIAOD",json],
# ["/SingleElectron/Run2016G-23Sep2016-v1/MINIAOD",json],
# ["/SingleElectron/Run2016H-PromptReco-v1/MINIAOD",json],
# ["/SingleElectron/Run2016H-PromptReco-v2/MINIAOD",json],
# ["/SingleElectron/Run2016H-PromptReco-v3/MINIAOD",json],
],
},
}
return ci_job_options
pass
32 changes: 32 additions & 0 deletions Analyzer/test/crabConfig_CI_ntupler.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
from CRABClient.UserUtilities import config, getUsernameFromSiteDB
config = config()

## change as needed
config.Data.inputDataset = '/CITo2Mu_M300_CUETP8M1_Lam22TeVConLL_13TeV_Pythia8_Corrected-v4/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/MINIAODSIM'
sample = config.Data.inputDataset.split('/')

## change as needed
config.General.requestName = 'Dimuon_Ntuple_M300_CI_L22000_LL_Con_13TeV_test'
config.General.workArea = 'crab_projects'
config.General.transferOutputs = True
config.General.transferLogs = True

config.JobType.pluginName = 'Analysis'
config.JobType.psetName = 'runMakeZprimeMiniAodTreeMC_cfg.py'
#config.JobType.numCores = 4

config.JobType.pyCfgParams = ['sampleType=%s'%(sample[1]), 'runCrab=True']
#config.Data.outputPrimaryDataset = 'CIToEEntuple'
config.Data.inputDBS = 'global'
config.Data.splitting = 'FileBased'
config.Data.unitsPerJob = 1
## config.Data.totalUnits = 1 ## only do one job for testing purposes
#NJOBS = 100
#config.Data.totalUnits = config.Data.unitsPerJob * NJOBS
## change as needed
config.Data.outLFNDirBase = '/store/user/sturdy' #%s/' % (getUsernameFromSiteDB())
config.Data.publication = True
config.Data.outputDatasetTag = 'ntuples'

## change as needed
config.Site.storageSite = 'T3_US_FNALLPC'
6 changes: 6 additions & 0 deletions Analyzer/test/dy_2e_samples.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dyto2esamples = {
"DY": [
["/DYTo2E_M1300_CUETP8M1_13TeV_Pythia8_Corrected-v3/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v2/MINIAODSIM", None],
["/DYTo2E_M800_CUETP8M1_13TeV_Pythia8_Corrected-v3/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v2/MINIAODSIM", None],
],
}
7 changes: 7 additions & 0 deletions Analyzer/test/dy_2mu_samples.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dyto2musamples = {
"DY": [
["/DYTo2Mu_M1300_CUETP8M1_13TeV_Pythia8_Corrected-v3/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/MINIAODSIM", None],
["/DYTo2Mu_M300_CUETP8M1_13TeV_Pythia8_Corrected-v3/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/MINIAODSIM", None],
["/DYTo2Mu_M800_CUETP8M1_13TeV_Pythia8_Corrected-v3/RunIISummer16MiniAODv2-PUMoriond17_80X_mcRun2_asymptotic_2016_TrancheIV_v6-v1/MINIAODSIM", None],
],
}
123 changes: 123 additions & 0 deletions Analyzer/test/getSamples.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# CI Samples
lvals=( "1" "10" "16" "22" "28" "34" "100k" )
intf=( "Con" "Des" )
heli=( "LR" "LL" "RR" )

cat <<EOF > ci_2mu_samples.py
cito2musamples = {
EOF

cat <<EOF > ci_2e_samples.py
cito2esamples = {
EOF

for l in "${lvals[@]}"
do
cat <<EOF >> ci_2mu_samples.py
"Lam${l}": {
EOF
cat <<EOF >> ci_2e_samples.py
"Lam${l}": {
EOF
for i in "${intf[@]}"
do
cat <<EOF >> ci_2mu_samples.py
"${i}": {
EOF
cat <<EOF >> ci_2e_samples.py
"${i}": {
EOF
for h in "${heli[@]}"
do
cat <<EOF >> ci_2mu_samples.py
"${h}": [
EOF
cat <<EOF >> ci_2e_samples.py
"${h}": [
EOF
echo "ci_Lam${l}TeV${i}${h}.progress"
muquery="dataset dataset=/CITo2Mu*Lam${l}TeV${i}${h}*Corrected-v4/*/MINIAODSIM"
elquery="dataset dataset=/CITo2E*Lam${l}TeV${i}${h}*Corrected-v4/*/MINIAODSIM"
if [ "${l}" = "100k" ]
then
muquery="dataset dataset=/CIToMu*/pthapa-*MiniAod*_M*_L100K_${h}_${i}*/USER instance=prod/phys03"
elquery="dataset dataset=/CIToDie*/pdong-Dielectron_100*TeV_miniAOD_M*_${h}_${i}*/USER instance=prod/phys03"
elif [ "${l}" = "10" ]
then
:
muquery="dataset dataset=/CITo*/szaleski-MuMu_miniAODSIM_${h}${i}M*_Use-*/USER instance=prod/phys03"
elquery="dataset dataset=/CITo*Lam${l}/szaleski-EE_miniAODSIM*_${h}${i}M*_remade-*/USER instance=prod/phys03"
elif [ "${l}" = "1" ]
then
muquery="dataset dataset=/CITo2Mu*Lam16TeV${i}${h}*Corrected-v3/*/MINIAODSIM"
elquery="dataset dataset=/CITo2E*Lam16TeV${i}${h}*Corrected-v3/*/MINIAODSIM"
fi
echo "dasgoclient --query=\"${muquery}\"|egrep -v (test|Aug9)"
res=$(dasgoclient --query=${muquery}|egrep -v (test|Aug9))
echo "$res" 2>&1 |tee -a ci_2mu_samples.py
# dasgoclient --query=${muquery} 2>&1 |tee -a ci_2mu_samples.py
echo "dasgoclient --query=\"${elquery}\"|egrep -v (test|Aug9)"
res=$(dasgoclient --query=${elquery}|egrep -v (test|Aug9))
echo "$res" 2>&1 |tee -a ci_2e_samples.py
# dasgoclient --query=${elquery} 2>&1 |tee -a ci_2e_samples.py

cat <<EOF >> ci_2mu_samples.py
],
EOF
cat <<EOF >> ci_2e_samples.py
],
EOF
done
cat <<EOF >> ci_2mu_samples.py
},
EOF
cat <<EOF >> ci_2e_samples.py
},
EOF
done
cat <<EOF >> ci_2mu_samples.py
},
EOF
cat <<EOF >> ci_2e_samples.py
},
EOF
done
cat <<EOF >> ci_2mu_samples.py
}
EOF
cat <<EOF >> ci_2e_samples.py
}
EOF

# DY samples
cat <<EOF > dy_2mu_samples.py
dyto2musamples = {
EOF

cat <<EOF > dy_2e_samples.py
dyto2esamples = {
EOF

echo "dy_Lam${l}TeV${i}${h}.progress"
muquery="dataset dataset=/DYTo2Mu*Corrected-v3/*/MINIAODSIM"
elquery="dataset dataset=/DYTo2E*Corrected-v3/*/MINIAODSIM"
echo "dasgoclient --query=\"${muquery}\"|egrep -v (test|Aug9)"
res=$(dasgoclient --query=${muquery}|egrep -v (test|Aug9))
echo "$res" 2>&1 |tee -a dy_2mu_samples.py
# dasgoclient --query=${muquery} 2>&1 |tee -a dy_2mu_samples.py
echo "dasgoclient --query=\"${elquery}\"|egrep -v (test|Aug9)"
res=$(dasgoclient --query=${elquery}|egrep -v (test|Aug9))
echo "$res" 2>&1 |tee -a dy_2e_samples.py
# dasgoclient --query=${elquery} 2>&1 |tee -a dy_2e_samples.py

cat <<EOF >> dy_2mu_samples.py
}
EOF
cat <<EOF >> dy_2e_samples.py
}
EOF

perl -pi -e 's?/DYTo?["/DYTo?g' dy_2*_samples.py
perl -pi -e 's?/CITo?["/CITo?g' ci_2*_samples.py
perl -pi -e 's?/MINIAODSIM?/MINIAODSIM", None],?g' ??_2*_samples.py
perl -pi -e 's?/USER?/USER", None],?g' ??_2*_samples.py
Loading