Warning, /analysis/JS-Jet/TrackJetQAMaker/README.md is written in an unsupported language. File is not indexed.
0001 # TrksInJetQA
0002
0003 A Fun4All package to generate QA plots for tracks in jets and related objects. Can be
0004 run as a plain `SubsysReco` module or as a QA module.
0005
0006 The top-level macro included here illustrates both use cases.
0007
0008 ## General Usage
0009
0010 There are four categories of plots that can be produced -- tracker hits, tracker clusters,
0011 tracks, and jets -- both inclusively and inside of jets (track, calo, or otherwise).
0012
0013 The most relevant user-configurable options (set in the `Configure` call) are:
0014
0015 ```
0016 .verbose # verbosity
0017 .doDebug # turn on debugging comments
0018 .doInclusive # make inclusive plots
0019 .doInJet # make in-jet plots
0020 .doHitQA # make tracker hit plots
0021 .doClustQA # make tracker cluster plots
0022 .doTrackQA # make track plots
0023 .doJetQA # make jet plots
0024 .rJet # resolution parameter of jets analyzed
0025 .jetInNode # DST node with jets to be analyzed
0026 ```
0027
0028 Where additional configurable options can seen in `src/TracksInJetsQAMakerConfig.h`.
0029
0030 Finally, code is compiled in the usual way:
0031
0032 ```
0033 # in src/
0034 cd build
0035 ../autogen.sh --prefix=$MYINSTALL
0036 make -j 4
0037 make install
0038 ```
0039
0040 ## Code Structure
0041
0042 The code is organized into 3 layers:
0043
0044 1. **Histogram Managers:** the lowest level, which define what histograms are
0045 going to be generated and how they're going to be filled for each category
0046 (hit, cluster, track, jet).
0047 2. **Histogram Fillers:** these call the histogram managers and define the
0048 various loops for each mode (inclusive, in-jet).
0049 3. **Top Level Modules:** finally, these call the histogram fillers and pass
0050 along the generated histograms to the relevant places.
0051
0052 All chunks of code that are common to the 4 managers and 2 fillers are
0053 consolidated into relevant base classes -- `BaseHistogramManager`, `BaseHistogramFiller`.
0054
0055 Lastly, alongside the core pieces described above, there are a few additional headers with
0056 things to streamline the code and centralize related information.
0057
0058 - `TrksInJetQAHist.h:` consoldiates the binning schemes used across all three sub-modules,
0059 - `TrksInJetQATypes.h:` defines a variety of commonly-used or clunky types,
0060 - `TrksInJetQAConfig.h:` defines a struct used to collect **all** user-configurable options.