ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/OSUT3Analysis/Configuration/python/processingUtilities.py
(Generate patch)

Comparing UserCode/OSUT3Analysis/Configuration/python/processingUtilities.py (file contents):
Revision 1.7 by lantonel, Tue Mar 12 21:12:09 2013 UTC vs.
Revision 1.20 by wulsin, Tue Jun 4 08:02:41 2013 UTC

# Line 1 | Line 1
1   #!/usr/bin/env python
2   import os
3 + import re
4   import sys
5 + import math
6   import datetime
7 < import argparse
8 < from OSUT3Analysis.Configuration.configurationOptions import *
7 > from optparse import OptionParser
8 > #from OSUT3Analysis.Configuration.configurationOptions import *
9  
10 <
9 < def split_composite_datasets(datasets):
10 > def split_composite_datasets(datasets, composite_dataset_definitions):
11      for dataset in datasets:
12          if dataset in composite_dataset_definitions:
13              for component_dataset in composite_dataset_definitions[dataset]:
# Line 14 | Line 15 | def split_composite_datasets(datasets):
15              datasets.remove(dataset)
16      return datasets
17  
18 < def get_composite_datasets(datasets):
18 > def get_composite_datasets(datasets, composite_dataset_definitions):
19      composite_datasets = []
20      for dataset in datasets:
21          if dataset in composite_dataset_definitions:
# Line 43 | Line 44 | def set_condor_output_dir(arguments):
44              sys.exit("Cannot find last condor working directory")
45          dir_list.sort(reverse=True)
46          condor_dir = "condor/%s" % dir_list[0]
47 <    #print "Condor output directory set to ",condor_dir
47 >    print "Condor output directory set to ",condor_dir
48      return condor_dir
49  
50   def set_commandline_arguments(parser):
51 <    parser.add_argument("-l", "--localConfig", dest="localConfig",
51 >    #### Configuration-related Options
52 >    parser.add_option("-l", "--localConfig", dest="localConfig",
53                    help="local configuration file")
54 <
53 <    parser.add_argument("-c", "--condorDir", dest="condorDir",
54 >    parser.add_option("-c", "--condorDir", dest="condorDir",
55                        help="condor output directory")
56 <    parser.add_argument("-n", "--normalize", action="store_true", dest="normalizeToData", default=False,
56 >    parser.add_option("-o", "--output-file", dest="outputFileName",
57 >                      help="specify an output file name for the histogram file, default is 'stacked_histograms.root'")
58 >    parser.add_option("-t", "--no-weights", action="store_true", dest="noWeights", default=False,
59 >                      help="do not apply cross section weights")
60 >    parser.add_option("-q", "--quickMerge", action="store_true", dest="quickMerge", default=False,
61 >                      help="do merge without making cutflow or plots")  
62 >
63 >
64 >    #### Histogram Formatting Options
65 >    parser.add_option("-n", "--normalize", action="store_true", dest="normalizeToData", default=False,
66                        help="normalize total background MC yield to the data")
67 <    parser.add_argument("-u", "--unit-area", action="store_true", dest="normalizeToUnitArea", default=False,
67 >    parser.add_option("-u", "--unit-area", action="store_true", dest="normalizeToUnitArea", default=False,
68                        help="normalize all samples to unit area (useful to compare shapes)")
69 <    parser.add_argument("-e", "--empty", action="store_true", dest="noStack", default=False,
69 >    parser.add_option("-e", "--empty", action="store_true", dest="noStack", default=False,
70                        help="don't stack the background samples, draw them as empty histograms instead")
71 <    parser.add_argument("-r", "--ratio", action="store_true", dest="makeRatioPlots", default=False,
71 >
72 >    parser.add_option("-r", "--ratio", action="store_true", dest="makeRatioPlots", default=False,
73                        help="draw (data-MC)/MC plots below all 1D histograms")
74 <    parser.add_argument("-o", "--output-file", dest="outputFileName",
75 <                      help="specify an output file name for the histogram file, default is 'stacked_histograms.root'")
76 <    
74 >    parser.add_option("-R", "--ratioYRange", dest="ratioYRange", default=1.15,
75 >                      help="maximum of range of vertical scale for ratio plots")  
76 >    parser.add_option("-d", "--diff", action="store_true", dest="makeDiffPlots", default=False,
77 >                      help="draw data-MC plots below all 1D histograms")
78 >    parser.add_option("-b", "--rebin", dest="rebinFactor",
79 >                      help="Rebin all the histograms which will have at least 10 bins after rebinning")
80 >    parser.add_option("--2D", action="store_true", dest="draw2DPlots", default=False,
81 >                      help="draw stacked 2D histograms")
82 >    parser.add_option("-y", "--yields", action="store_true", dest="printYields", default=False,
83 >                      help="Include the yield of each source in the legend")
84 >    parser.add_option("-p", "--pdfs",  action="store_true", dest="savePDFs", default=False,
85 >                      help="Save pdfs files for all plots made")
86 >
87  
88      return parser
89  
90 < def get_short_name(dataset):
90 > def get_short_name(dataset, dataset_names):
91      for key in dataset_names:
92          if dataset_names[key] == dataset:
93 <            return key;
93 >            return key
94      return "Unknown"
95 +
96 + def stop_ctau (dataset):
97 +    if not re.match (r"stop[^_]*to[^_]*_[^_]*mm.*", dataset):
98 +      return 0.0
99 +    return float (re.sub (r"stop[^_]*to[^_]*_([^_]*)mm.*", r"\1", dataset))
100 +
101 + def source_stop_ctau (ctau):
102 +    return int (math.pow (10.0, math.ceil (math.log10 (ctau))))
103 +
104 + def add_stops (options, masses, ctaus, bottomBranchingRatios = []):
105 +    if not bottomBranchingRatios:
106 +        bottomBranchingRatios.append (50.0)
107 +    for mass in masses:
108 +        for ctau in ctaus:
109 +            for bottomBranchingRatio in bottomBranchingRatios:
110 +                datasetName = 'stop' + str (mass) + "_" + str (ctau) + "mm_br" + str (int (bottomBranchingRatio))
111 +                bottomDatasetName = 'stop' + str (mass) + "toBl_" + str (ctau) + "mm"
112 +                sourceBottomDatasetName = 'stop' + str (mass) + "toBl_" + str (source_stop_ctau (ctau)) + "mm"
113 +                topDatasetName = 'stop' + str (mass) + "toTnu_" + str (ctau) + "mm"
114 +                sourceTopDatasetName = 'stop' + str (mass) + "toTnu_" + str (source_stop_ctau (ctau)) + "mm"
115 +                mixedDatasetName = 'stop' + str (mass) + "toBT_" + str (ctau) + "mm"
116 +                sourceMixedDatasetName = 'stop' + str (mass) + "toBT_" + str (source_stop_ctau (ctau)) + "mm"
117 +
118 +                options['datasets'].append (datasetName)
119 +                bottomBranchingRatio /= 100.0
120 +                options['composite_dataset_definitions'][datasetName] = {
121 +                    bottomDatasetName : bottomBranchingRatio * bottomBranchingRatio,
122 +                    topDatasetName : (1 - bottomBranchingRatio) * (1 - bottomBranchingRatio),
123 +                    mixedDatasetName : (1 - bottomBranchingRatio * bottomBranchingRatio - (1 - bottomBranchingRatio) * (1 - bottomBranchingRatio))
124 +                }
125 +                options['dataset_names'][bottomDatasetName] = options['dataset_names'][sourceBottomDatasetName]
126 +                options['dataset_names'][topDatasetName] = options['dataset_names'][sourceTopDatasetName]
127 +                options['dataset_names'][mixedDatasetName] = options['dataset_names'][sourceMixedDatasetName]
128 +                options['nJobs'][bottomDatasetName] = 1
129 +                options['nJobs'][topDatasetName] = 1
130 +                options['nJobs'][mixedDatasetName] = 1
131 +                options['maxEvents'][bottomDatasetName] = -1
132 +                options['maxEvents'][topDatasetName] = -1
133 +                options['maxEvents'][mixedDatasetName] = -1
134 +                options['types'][datasetName] = "signalMC"
135 +                options['types'][bottomDatasetName] = "signalMC"
136 +                options['types'][topDatasetName] = "signalMC"
137 +                options['types'][mixedDatasetName] = "signalMC"
138 +                options['labels'][datasetName] = str (mass) + " GeV stop (#LTc#tau#GT = " + str (ctau) + " mm)"
139 +                options['labels'][bottomDatasetName] = "#tilde{t}#tilde{t}#rightarrowbbll (#LTc#tau#GT = " + str (ctau) + " mm)"
140 +                options['labels'][topDatasetName] = "#tilde{t}#tilde{t}#rightarrowtt#nu#nu (#LTc#tau#GT = " + str (ctau) + " mm)"
141 +                options['labels'][mixedDatasetName] = "#tilde{t}#tilde{t}#rightarrowbtl#nu (#LTc#tau#GT = " + str (ctau) + " mm)"

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines