QSCP (Quasi Stable Charged Particles) Track Analysis Twiki
The purpose of this twiki is to be a practical guide to using the kinked track analysis software. Currently the explanation of the physics and some dedsign choices will be omitted but if you need them just contact me.
Software Structure
The main package name is
SystematicTrackAnalysis. Inside this CMSSW package, which is currently optimized and tested for the 5_3_X branch) there are several sub pakcages that compose the software set. They are:
DataAndMC- Currently little used but it is planned to contain cfgs for skims and cfgs for producing decay in flight MC (see my twiki page on decay in flight MC)
DecayFinder- This software runs over RECO data sets or RECO mc sets and finds mother daughter track sets
HypothesisAnalyzer- This software takes cfgs that describe a hypothesis (e.g. charged kaon decay) and takes the decayFinder produced data file and performs relativistic boosting and plotting to see if the data supports the conjecture
MethodAnalyzer- A grab bag of analysis functions. In this package there are boolean values that can be set in order to analyze the decay tuples (the product of decay finder) in a basic fashion. This includes things like mother pt distribution, daughter count, pca location, dca plots, etc.
Utilities- This package has the definition of the decayTuple, utility functions that contain things like the kinematic and geometric cuts.
Current tag: df2 (for code used in current plots)
Preliminary:
First checkout an appropriate CMSSW release (as indicated by the dataset or MC sample).
Within the src directory of the CMSSW release do:
git init SystematicTrackAnalysis
git remote add github git@github.com:mksquires/SystematicTrackAnalysis.git (in the SystematicTrackAnalysis directory)
git checkout master
scram b
To Find decay tuples:
After the above preliminaries enter the data files into the the configuration fragment:
SystematicTrackAnalysis/DecayFinder/test/decayfinder_withSkim_cfg.py
(currently it is not recommended to use decayfinder without skim due to the large amount of data it will save to disk).
Change any cuts as appropriate in:
SystematicTrackAnalysis/DecayFinder/python/decayfinder_cfi.py
The available cuts are:
DCA cut- Distance of closest approach cut between the points of the prospective mother and daughter that are closest to the PCA (point of closest approach). This defaults to 1cm
doPCAPlanarCut- This cut checks the PCA and makes sure that it is above a plane defined by the outer mother hit position and momentum. This defaults to true.
parentMinPt- Only tracks above this threshold (in
GeV) are considered as a potential mother track.
minDaughterHits- The required minimal number of hit on a prospective daughter track. This defaults to 4 hits.
To run any of the following studies:
- Momentum distribution study
- Broken Track study
- Decay Location study (tomography)
- PCA Location study
Enable the appropriate study in:
SystematicTrackAnalysis/MethodAnalyzer/test/methodanalyzer_cfg.py
and do:
cmsRun SystematicTrackAnalysis/MethodAnalyzer/test/methodanalyzer_cfg.py
To do a momentum boost study
Edit
SystematicTrackAnalysis/HypothesisAnalyzer/python/hypotheses_cfi.py to include the decay process you wish to analyze. The format of a hypothesis is described within the configuration fragment.
Then do:
cmsRun SystematicTrackAnalysis/HypothesisAnalyszer/hypothesisanalyzer_cfg.py
To do combine/fit run the finalfitter which is also found in the test directory of the hypothesis analyzer. Please note that as of this writing the finalfitter code from the first version of my analysis from 2011 has yet to have been ported to the current package. This is planned soon.