hpstr
The Heavy Photon Search Toolkit for Reconstruction (hpstr) provides an interface to physics data from the HPS experiment saved in the LCIO format and converts it into an ROOT based format.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
anaKalSimpTuple_cfg.py
Go to the documentation of this file.
1import HpstrConf
2import sys
3import os
4import baseConfig as base
5
6base.parser.add_argument("-w", "--tracking", type=str, dest="tracking",
7 help="Which tracking to use to make plots", metavar="tracking", default="KF")
8base.parser.add_argument("-f", "--makeFlatTuple", type=int, dest="makeFlatTuple",
9 help="Make True to make vertex ana flat tuple", metavar="makeFlatTuple", default=1)
10base.parser.add_argument("-r", "--isRadPDG", type=int, dest="isRadPDG",
11 help="Set radiative trident PDG ID", metavar="isRadPDG", default=622)
12base.parser.add_argument("-TS", "--trackstate", type=str, dest="trackstate",
13 help="Specify Track State | 'AtECal' or 'AtTarget'. Default " " is origin (AtIP)", metavar="trackstate", default="")
14base.parser.add_argument("-bpc", "--beamPosCorr", type=str, dest="beamPosCorr",
15 help="Load beam position corrections from json", metavar="beamPosCorr", default="")
16options = base.parser.parse_args()
17
18# Use the input file to set the output file name
19infile = options.inFilename
20outfile = options.outFilename
21
22outfile = outfile.split(".root")[0]+"_"+options.tracking+".root"
23
24print('Input file: %s' % infile)
25print('Output file: %s' % outfile)
26
28
29p.run_mode = 1
30#p.max_events = 1000
31
32# Library containing processors
33p.add_library("libprocessors")
34
35
38
39recoana_kf = HpstrConf.Processor('vtxana_kf', 'VertexAnaProcessor')
40recoana_gbl = HpstrConf.Processor('vtxana_gbl', 'VertexAnaProcessor')
41mcana = HpstrConf.Processor('mcpartana', 'MCAnaProcessor')
42
46recoana_kf.parameters["anaName"] = "vtxana_kf"
47recoana_kf.parameters["trkColl"] = "KalmanFullTracks%s"%(options.trackstate)
48recoana_kf.parameters["tsColl"] = "TSData"
49recoana_kf.parameters["vtxColl"] = "UnconstrainedV0Vertices_KF"
50recoana_kf.parameters["mcColl"] = "MCParticle"
51recoana_kf.parameters["hitColl"] = "SiClusters"
52recoana_kf.parameters["ecalColl"] = "RecoEcalClusters"
53recoana_kf.parameters["vtxSelectionjson"] = os.environ['HPSTR_BASE']+"/analysis/selections/vertexSelection.json"
54recoana_kf.parameters["histoCfg"] = os.environ['HPSTR_BASE']+"/analysis/plotconfigs/tracking/vtxAnalysis.json"
55recoana_kf.parameters["mcHistoCfg"] = os.environ['HPSTR_BASE']+'/analysis/plotconfigs/mc/basicMC.json'
56
57recoana_kf.parameters["beamE"] = base.beamE[str(options.year)]
58recoana_kf.parameters["isData"] = options.isData
59recoana_kf.parameters["analysis"] = options.analysis
60recoana_kf.parameters["debug"] = 0
61recoana_kf.parameters["isRadPDG"] = options.isRadPDG
62recoana_kf.parameters["makeFlatTuple"] = options.makeFlatTuple
63recoana_kf.parameters["beamPosCfg"] = options.beamPosCorr
64
65CalTimeOffset = -999
66
67if (options.isData == 1):
68 CalTimeOffset = 56.
69 print("Running on data file: Setting CalTimeOffset %d" % CalTimeOffset)
70
71elif (options.isData == 0):
72 CalTimeOffset = 43.
73 print("Running on MC file: Setting CalTimeOffset %d" % CalTimeOffset)
74else:
75 print("Specify which type of ntuple you are running on: -t 1 [for Data] / -t 0 [for MC]")
76
77recoana_kf.parameters["CalTimeOffset"] = CalTimeOffset
78#Region definitions
79RegionPath = os.environ['HPSTR_BASE']+"/analysis/selections/"
80
81recoana_kf.parameters["regionDefinitions"] = [RegionPath+'Tight.json',
82 RegionPath+'radMatchTight.json']
83
84#RecoHitAna
85recoana_gbl.parameters = recoana_kf.parameters.copy()
86recoana_gbl.parameters["anaName"] = "vtxana_gbl"
87recoana_gbl.parameters["vtxColl"] = "UnconstrainedV0Vertices"
88recoana_gbl.parameters["tsColl"] = "TSData"
89recoana_gbl.parameters["hitColl"] = "RotatedHelicalOnTrackHits"
90recoana_gbl.parameters["trkColl"] = "GBLTracks"
91recoana_gbl.parameters["mcColl"] = "MCParticle"
92recoana_gbl.parameters["ecalColl"] = "RecoEcalClusters"
93recoana_gbl.parameters["vtxSelectionjson"] = os.environ['HPSTR_BASE']+"/analysis/selections/vertexSelection.json"
94recoana_gbl.parameters["histoCfg"] = os.environ['HPSTR_BASE']+"/analysis/plotconfigs/tracking/vtxAnalysis.json"
95recoana_gbl.parameters["mcHistoCfg"] = os.environ['HPSTR_BASE']+'/analysis/plotconfigs/mc/basicMC.json'
96
97recoana_gbl.parameters["beamE"] = base.beamE[str(options.year)]
98recoana_gbl.parameters["isData"] = options.isData
99recoana_gbl.parameters["analysis"] = options.analysis
100recoana_gbl.parameters["debug"] = 0
101recoana_gbl.parameters["isRadPDG"] = options.isRadPDG
102recoana_gbl.parameters["makeFlatTuple"] = options.makeFlatTuple
103recoana_gbl.parameters["beamPosCfg"] = options.beamPosCorr
104
105recoana_gbl.parameters["CalTimeOffset"] = CalTimeOffset
106#Region definitions
107RegionPath = os.environ['HPSTR_BASE']+"/analysis/selections/"
108recoana_gbl.parameters["regionDefinitions"] = [RegionPath+'Tight.json',
109 RegionPath+'radMatchTight.json']
110#MCParticleAna
111mcana.parameters["debug"] = 0
112mcana.parameters["anaName"] = "mcAna"
113mcana.parameters["partColl"] = "MCParticle"
114mcana.parameters["trkrHitColl"] = "TrackerHits"
115mcana.parameters["ecalHitColl"] = "EcalHits"
116mcana.parameters["histCfg"] = os.environ['HPSTR_BASE']+'/analysis/plotconfigs/mc/basicMC.json'
117
118#
119# RegionPath+'ESumCR.json',
120# RegionPath+'TightNoSharedL0.json',
121# RegionPath+'TightNoShared.json',
122
123# Sequence which the processors will run.
124#p.sequence = [recoana_kf,recoana_gbl]
125if (options.tracking == "KF"):
126 print("Run KalmanFullTracks analysis")
127 p.sequence = [recoana_kf] # ,mcana]
128elif (options.tracking == "GBL"):
129 print("Run GBL analysis")
130 p.sequence = [recoana_gbl] # ,mcana]
131else:
132 print("ERROR::Need to specify which tracks KF or GBL")
133 exit(1)
134
135p.skip_events = options.skip_events
136p.max_events = options.nevents
137
138p.input_files = infile
139p.output_files = [outfile]
140
141p.printProcess()
Process python class.
Definition HpstrConf.py:20
Processor python class.
Definition HpstrConf.py:4