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
anaSimps_2016_cfg.py
Go to the documentation of this file.
1import HpstrConf
2import sys
3import os
4import baseConfig as base
5
6base.parser.add_argument("-f", "--makeFlatTuple", type=int, dest="makeFlatTuple",
7 help="Make True to make vertex ana flat tuple", metavar="makeFlatTuple", default=1)
8base.parser.add_argument("-r", "--isRadPDG", type=int, dest="isRadPDG",
9 help="Set radiative trident PDG ID", metavar="isRadPDG", default=622)
10options = base.parser.parse_args()
11
12# Use the input file to set the output file name
13infile = options.inFilename
14outfile = options.outFilename
15
16outfile = outfile.split(".root")[0]+".root"
17
18print('Input file: %s' % infile)
19print('Output file: %s' % outfile)
20
22
23p.run_mode = 1
24#p.max_events = 1000
25
26# Library containing processors
27p.add_library("libprocessors")
28
29
32vtxana = HpstrConf.Processor('vtxana', 'NewVertexAnaProcessor')
33mcana = HpstrConf.Processor('mcpartana', 'MCAnaProcessor')
34
38vtxana.parameters["debug"] = 0
39vtxana.parameters["anaName"] = "vtxana"
40vtxana.parameters["tsColl"] = "TSBank"
41vtxana.parameters["vtxColl"] = "UnconstrainedV0Vertices_KF"
42vtxana.parameters["mcColl"] = "MCParticle"
43vtxana.parameters["hitColl"] = "SiClustersOnTrackOnPartOnUVtx"
44vtxana.parameters["analysis"] = "vertex"
45vtxana.parameters["vtxSelectionjson"] = os.environ['HPSTR_BASE']+"/analysis/selections/simps/vertexSelection_2016_simp_preselection.json"
46vtxana.parameters["histoCfg"] = os.environ['HPSTR_BASE']+"/analysis/plotconfigs/tracking/simps/vtxAnalysis_2016_simp_reach.json"
47vtxana.parameters["mcHistoCfg"] = os.environ['HPSTR_BASE']+'/analysis/plotconfigs/mc/basicMC.json'
48
49vtxana.parameters["beamE"] = base.beamE[str(options.year)]
50vtxana.parameters["isData"] = options.isData
51vtxana.parameters["isRadPDG"] = options.isRadPDG
52vtxana.parameters["makeFlatTuple"] = options.makeFlatTuple
53vtxana.parameters["beamPosCfg"] = ""
54vtxana.parameters["pSmearingFile"] = os.environ['HPSTR_BASE']+"/utils/data/smearingFile_2016_all_12112023.root"
55if options.isData:
56 vtxana.parameters["v0ProjectionFitsCfg"] = os.environ['HPSTR_BASE']+'/analysis/data/v0_projection_2016_config.json'
57else:
58 vtxana.parameters["v0ProjectionFitsCfg"] = os.environ['HPSTR_BASE']+'/analysis/data/v0_projection_2016_mc_7800_config.json' #For tritrig and wab mc
59 #vtxana.parameters["v0ProjectionFitsCfg"] = os.environ['HPSTR_BASE']+'/analysis/data/v0_projection_2016_mc_signal_config.json' #For signal (accidentally gen with bspt=(0,0)
60
61if options.isData:
62 vtxana.parameters["eleTrackTimeBias"] = -1.5
63 vtxana.parameters["posTrackTimeBias"] = -1.5
64else:
65 vtxana.parameters["eleTrackTimeBias"] = -2.2 #MC
66 vtxana.parameters["posTrackTimeBias"] = -2.2 #MC
67 #vtxana.parameters["eleTrackTimeBias"] = -5.5 #MC For TTs new smearing samples...due to readout bug
68 #vtxana.parameters["posTrackTimeBias"] = -5.5 #MC For TTs new smearing samples...due to readout bug
69
70
71CalTimeOffset = -999
72
73if (options.isData == 1):
74 CalTimeOffset = 56.
75 print("Running on data file: Setting CalTimeOffset %d" % CalTimeOffset)
76
77elif (options.isData == 0):
78 CalTimeOffset = 43.
79 print("Running on MC file: Setting CalTimeOffset %d" % CalTimeOffset)
80else:
81 print("Specify which type of ntuple you are running on: -t 1 [for Data] / -t 0 [for MC]")
82
83vtxana.parameters["CalTimeOffset"] = CalTimeOffset
84#Region definitions
85RegionPath = os.environ['HPSTR_BASE']+"/analysis/selections/simps/"
86if (options.year == 2016):
87 RegionDefinitions = [RegionPath+'Tight_2016_simp_reach_CR.json',
88 RegionPath+'Tight_2016_simp_reach_SR.json',
89 RegionPath+'Tight_nocuts.json',
90 RegionPath+'Tight_L1L1_nvtx1.json']
91 if(options.isData != 1):
92 RegionDefinitions.extend([RegionPath+'radMatchTight_2016_simp_reach_CR.json',
93 RegionPath+'radMatchTight_2016_simp_reach_SR.json'])
94
95 vtxana.parameters["regionDefinitions"] = RegionDefinitions
96
97#MCParticleAna
98mcana.parameters["debug"] = 0
99mcana.parameters["anaName"] = "mcAna"
100mcana.parameters["partColl"] = "MCParticle"
101mcana.parameters["trkrHitColl"] = "TrackerHits"
102mcana.parameters["ecalHitColl"] = "EcalHits"
103mcana.parameters["histCfg"] = os.environ['HPSTR_BASE']+'/analysis/plotconfigs/mc/basicMC.json'
104
105# Sequence which the processors will run.
106p.sequence = [vtxana] # ,mcana]
107
108p.skip_events = options.skip_events
109p.max_events = options.nevents
110
111p.input_files = infile
112p.output_files = [outfile]
113
114p.printProcess()
Process python class.
Definition HpstrConf.py:20
Processor python class.
Definition HpstrConf.py:4