Kalanand's June 2011 Log
June 18th
Multivariate training with TMVA
Today I sent email to Alexx Perloff with instructions on how to run
multi-variate training. I copy the email below so that I don't have to
type again :-)
Please checkout the TMVA package from sourceforge and compile. Then
checkout files from UserCode/kalanand/mva/
Then: start with the file called "WWTMVAClassification.C". The file has lots of
comments and is kind of selfexplanatory. You will need to update the
acceptance cuts, the input file names (for W+jets and WW trees), and variables
to use for optimization. The TMVA supports a number of classifiers for optimization:
cut & count, neural net, decision trees: simple/baggining/boosted, k-nearest-neighbor,
random forest, fisher, ... to name just a few.
You can run one algorithm at a time, using commands like:
root -l WWTMVAClassification.C\(\"BDT\"\)
root -l WWTMVAClassification.C\(\"KNN\"\)
root -l WWTMVAClassification.C\(\"Likelihood\"\)
root -l WWTMVAClassification.C\(\"MLP\"\)
root -l WWTMVAClassification.C\(\"Fisher\"\)
root -l WWTMVAClassification.C\(\"Cuts\"\)
June 23rd
CVS checkout a given tag and directory
Here are the steps (thanks Steve Mrenna for figuring out)
1. Go to the directory you want to import
2. Type "cvs import UserCode/kalanand/ThisDirectory vtag start"
vtag is a made-up version tag, start is an example release tag
3. To use, type "cvs co -l UserCode/ThisDirectory UserCode/kalanand/ThisDirectory"
June 27th
HLTHighLevel filter
The following filter will select the events which pass any of the
trigger paths in the list (logical OR). You can change the
boolean parameter "andOR" to True if you want the logical AND.
##-------- Electron events of interest --------
HLTEle =cms.EDFilter("HLTHighLevel",
TriggerResultsTag = cms.InputTag("TriggerResults","","HLT"),
HLTPaths = cms.vstring("HLT_Photon15_Cleaned_L1R", "HLT_Ele15_*", "HLT_Ele17_*", "HLT_Ele22_*", "HLT_Ele25_*","HLT_Ele27_*", "HLT_Ele32_*"),
eventSetupPathsKey = cms.string(''),
andOr = cms.bool(True), #----- True = OR, False = AND between the HLTPaths
throw = cms.bool(False) # throw exception on unknown path names
)
##############################
Now if you want to exclude a (set of) trigger(s) then you simply
include the filter in the path with a twilde(~) sign before its name, e.g.,
EleVetoSequence = cms.Sequence( ~HLTEle)
will reject events which pass any of the above electron paths.
Last modified: Mon Jun 27 08:19:43 CST 2011