Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

547 lines
21 KiB

  1. import numpy as np
  2. '''
  3. Define variables used in compareUltimate
  4. Python doesn't understand external parameters,
  5. so workaround is to make a function for them, because f*it
  6. '''
  7. import os
  8. #Set whether Kshort decays in VELO
  9. def KshortChannel():
  10. path = os.getcwd()
  11. #print path
  12. return "dgerick" in path
  13. def UseLowQ2Range1():
  14. return False
  15. def UseLowQ2Range2():
  16. return False
  17. def firstMCweight ():
  18. return "nLongTracks"
  19. def UseDTF():
  20. return True
  21. def yearArray(): #Assign run to year
  22. return np.array([
  23. [2011,2012, 2015, 2016, 2017, 2018],
  24. [1, 1, 2, 2, 2, 2]
  25. ])
  26. def yearListFull():
  27. return yearArray()[0][:]
  28. def yearListRun(Run):
  29. if (Run ==12): return yearListFull()
  30. else:
  31. mask = yearArray()[1][:]==Run
  32. return yearArray()[0][mask]
  33. def yearList(Run, MC,Reference,PHSP): #Too lazy to do Kshort option
  34. if (PHSP or not MC): return yearListRun(Run)
  35. else:
  36. if (Reference):
  37. mask = yearListRun(Run)[:]<2017
  38. else:
  39. mask = yearListRun(Run)[:]!=2015
  40. return yearListRun(Run)[mask]
  41. def yearRunArrayFull(Run):
  42. if (Run ==12): return yearArray()
  43. else:
  44. mask = yearArray()[1][:]==Run
  45. return yearArray()[:,mask]
  46. def yearRunArray(year, Run, MC,Reference,PHSP):
  47. if (Run == 0):
  48. mask = yearRunArrayFull(12)[0][:]==year
  49. return yearRunArrayFull(12)[:,mask]
  50. else:
  51. if (PHSP or not MC): return yearRunArrayFull(Run)
  52. else:
  53. if (Reference):
  54. mask = yearRunArrayFull(Run)[0][:]<2017
  55. else:
  56. mask = yearRunArrayFull(Run)[0][:]!=2015
  57. return yearRunArrayFull(Run)[:,mask]
  58. def polarityList():
  59. return ["down","up","both"]
  60. #Define a dictionary with nBins, Max and Min for each variable plot
  61. def dictVarPlotLimitsInt():
  62. return {
  63. "nSPDHits": [61,-0.5,600.5],
  64. "nTracks": [60,-0.5,399.5],
  65. "nLongTracks": [50,-0.5,139.5],
  66. "nTTracks": [50,-0.5,139.5],
  67. "nBackTracks": [50,-0.5,199.5],
  68. "nMuonTracks": [50,-0.5,199.5],
  69. "nVeloTracks": [50,-0.5,249.5],
  70. "nDownstreamTracks": [50,-0.5,49.5],
  71. "totCandidates": [10,-0.5,9.5],
  72. "nCandidate": [10,-0.5,9.5],
  73. "nUpstreamTracks": [50,-0.5,29.5]
  74. }
  75. def dictPDGmass():
  76. return{
  77. "B_plus":5279.29,
  78. "K_star_plus":891.66,
  79. "K_plus":493.68,
  80. "K_short":497.61,
  81. "pi_plus":139.57,
  82. "pi_zero":134.98,
  83. "gamma":0,
  84. "J_psi":3096.90,
  85. "mu":105.66,
  86. }
  87. def dictParticleIDs():
  88. return{
  89. "B_plus":521,
  90. "K_star_plus":323,
  91. "K_plus":321,
  92. "K_short":310,
  93. "pi_plus":211,
  94. "pi_zero_resolved":111,
  95. "gamma":22,
  96. "mu_minus":13,
  97. "J_psi":443
  98. }
  99. def dictVarPlotLimitsKshort (KshortDecaysInVelo = True):
  100. return {
  101. "log(1-B_plus_DIRA_OWNPV)": {"Min": -20.0, "Max": -9.0},
  102. "log(B_plus_OWNPV_CHI2)": {"Min": 1.0, "Max": 4.5},
  103. "log(B_plus_IPCHI2_OWNPV)": {"Min": -2.5, "Max": 3.0},
  104. "B_plus_ENDVERTEX_CHI2": {"Min": 0., "Max": 40.},
  105. "B_plus_FD_OWNPV": {"Min": 0., "Max": 120.0},
  106. "B_plus_PT_DTF": {"Min": 0., "Max": 40e3},
  107. "B_plus_PT": {"Min": 0., "Max": 40e3},
  108. "B_plus_DOCA1": {"Min": -0.1, "Max": 25.1},
  109. "B_plus_IP_OWNPV": {"Min": 0.0, "Max": 0.12},
  110. "B_plus_NEW_ConePTasym": {"Min": -1.001, "Max": 1.001},
  111. "B_plus_NEW_ConePT": {"Min": 0., "Max": 40e3},
  112. "B_plus_NEW_ConePasym": {"Min": -1.001, "Max": 1.001},
  113. "B_plus_NEW_ConeP": {"Min": 0., "Max": 60e3},
  114. "B_plus_ETA_DTF": {"Min": 2., "Max": 5.0},
  115. "B_plus_ETA": {"Min": 2., "Max": 5.0},
  116. "log(K_star_plus_IPCHI2_OWNPV)": {"Min": -5.0, "Max": 10.0},
  117. "K_star_plus_PT_DTF": {"Min": 0., "Max": 20e3},
  118. "K_star_plus_PT": {"Min": 0., "Max": 20e3},
  119. "K_star_plus_ETA_DTF": {"Min": 2., "Max": 5.0},
  120. "K_star_plus_ETA": {"Min": 2., "Max": 5.0},
  121. "K_short_PT_DTF": {"Min": 0., "Max": 10e3},
  122. "K_short_PT": {"Min": 0., "Max": 10e3},
  123. "K_short_FD_OWNPV": {"Min": 0., "Max": 700.0 if KshortDecaysInVelo else 2500.0},
  124. "K_short_ETA": {"Min": 2., "Max": 5.0},
  125. "K_star_plus_M": {"Min": 792., "Max": 992.},
  126. "log(K_short_IPCHI2_OWNPV)": {"Min": 0.0 if KshortDecaysInVelo else -5.0,
  127. "Max": 10.0 if KshortDecaysInVelo else 5.0},
  128. "Ks_pi_minus_PT_DTF": {"Min": 0., "Max": 5e3},
  129. "Ks_pi_minus_PT": {"Min": 0., "Max": 5e3},
  130. "Ks_pi_minus_PX_DTF": {"Min": -2.5e3, "Max": 2.5e3},
  131. "Ks_pi_minus_PX": {"Min": -2.5e3, "Max": 2.5e3},
  132. "Ks_pi_minus_PY_DTF": {"Min": -2.5e3, "Max": 2.5e3},
  133. "Ks_pi_minus_PY": {"Min": -2.5e3, "Max": 2.5e3},
  134. "Ks_pi_minus_PZ_DTF": {"Min": 2e3, "Max": 25e3},
  135. "Ks_pi_minus_PZ": {"Min": 2e3, "Max": 25e3},
  136. "Ks_pi_minus_PE_DTF": {"Min": 2e3, "Max": 25e3},
  137. "Ks_pi_minus_PE": {"Min": 2e3, "Max": 25e3},
  138. "Ks_pi_minus_P_DTF": {"Min": 2e3, "Max": 25e3},
  139. "Ks_pi_minus_P": {"Min": 2e3, "Max": 25e3},
  140. "Ks_pi_minus_ETA_DTF": {"Min": 2., "Max": 5.0},
  141. "Ks_pi_minus_ETA": {"Min": 2., "Max": 5.0},
  142. "Ks_pi_plus_PT_DTF": {"Min": 0., "Max": 5e3},
  143. "Ks_pi_plus_PT": {"Min": 0., "Max": 5e3},
  144. "Ks_pi_plus_PX_DTF": {"Min": -2.5e3, "Max": 2.5e3},
  145. "Ks_pi_plus_PX": {"Min": -2.5e3, "Max": 2.5e3},
  146. "Ks_pi_plus_PY_DTF": {"Min": -2.5e3, "Max": 2.5e3},
  147. "Ks_pi_plus_PY": {"Min": -2.5e3, "Max": 2.5e3},
  148. "Ks_pi_plus_PZ_DTF": {"Min": 2e3, "Max": 25e3},
  149. "Ks_pi_plus_PZ": {"Min": 2e3, "Max": 25e3},
  150. "Ks_pi_plus_PE_DTF": {"Min": 2e3, "Max": 25e3},
  151. "Ks_pi_plus_PE": {"Min": 2e3, "Max": 25e3},
  152. "Ks_pi_plus_P_DTF": {"Min": 2e3, "Max": 25e3},
  153. "Ks_pi_plus_P": {"Min": 2e3, "Max": 25e3},
  154. "Ks_pi_plus_ETA_DTF": {"Min": 2., "Max": 5.0},
  155. "Ks_pi_plus_ETA": {"Min": 2., "Max": 5.0},
  156. "pi_plus_PT_DTF": {"Min": 0., "Max": 12e3},
  157. "pi_plus_PT": {"Min": 0., "Max": 12e3},
  158. "pi_plus_PX_DTF": {"Min": -2.5e3, "Max": 2.5e3},
  159. "pi_plus_PX": {"Min": -2.5e3, "Max": 2.5e3},
  160. "pi_plus_PY_DTF": {"Min": -2.5e3, "Max": 2.5e3},
  161. "pi_plus_PY": {"Min": -2.5e3, "Max": 2.5e3},
  162. "pi_plus_PZ_DTF": {"Min": 0., "Max": 30e3},
  163. "pi_plus_PZ": {"Min": 0., "Max": 30e3},
  164. "pi_plus_PE_DTF": {"Min": 0., "Max": 30e3},
  165. "pi_plus_PE": {"Min": 0., "Max": 30e3},
  166. "pi_plus_P_DTF": {"Min": 0., "Max": 30e3},
  167. "pi_plus_P": {"Min": 0., "Max": 30e3},
  168. "pi_plus_ETA_DTF": {"Min": 2., "Max": 5.0},
  169. "pi_plus_ETA": {"Min": 2., "Max": 5.0},
  170. "log(pi_plus_IPCHI2_OWNPV)": {"Min": 1.0, "Max": 10.0},
  171. "mu_plus_PX_DTF": {"Min": -6e3, "Max": 6e3},
  172. "mu_plus_PX": {"Min": -6e3, "Max": 6e3},
  173. "mu_plus_PY_DTF": {"Min": -6e3, "Max": 6e3},
  174. "mu_plus_PY": {"Min": -6e3, "Max": 6e3},
  175. "mu_plus_PZ_DTF": {"Min": 3e3, "Max": 30e3},
  176. "mu_plus_PZ": {"Min": 3e3, "Max": 30e3},
  177. "mu_plus_PT_DTF": {"Min": 0., "Max": 10e3},
  178. "mu_plus_PT": {"Min": 0., "Max": 10e3},
  179. "mu_plus_PE_DTF": {"Min": 3e3, "Max": 30e3},
  180. "mu_plus_PE": {"Min": 3e3, "Max": 30e3},
  181. "mu_plus_P_DTF": {"Min": 3e3, "Max": 30e3},
  182. "mu_plus_P": {"Min": 3e3, "Max": 30e3},
  183. "mu_plus_ETA_DTF": {"Min": 2., "Max": 5.0},
  184. "mu_plus_ETA": {"Min": 2., "Max": 5.0},
  185. "log(mu_plus_IPCHI2_OWNPV)": {"Min": 2.0, "Max": 12.0},
  186. "mu_minus_PX_DTF": {"Min": -6e3, "Max": 6e3},
  187. "mu_minus_PX": {"Min": -6e3, "Max": 6e3},
  188. "mu_minus_PY_DTF": {"Min": -6e3, "Max": 6e3},
  189. "mu_minus_PY": {"Min": -6e3, "Max": 6e3},
  190. "mu_minus_PZ_DTF": {"Min": 3e3, "Max": 30e3},
  191. "mu_minus_PZ": {"Min": 3e3, "Max": 30e3},
  192. "mu_minus_PT_DTF": {"Min": 0., "Max": 10e3},
  193. "mu_minus_PT": {"Min": 0., "Max": 10e3},
  194. "mu_minus_PE_DTF": {"Min": 3e3, "Max": 30e3},
  195. "mu_minus_PE": {"Min": 3e3, "Max": 30e3},
  196. "mu_minus_P_DTF": {"Min": 3e3, "Max": 30e3},
  197. "mu_minus_P": {"Min": 3e3, "Max": 30e3},
  198. "mu_minus_ETA_DTF": {"Min": 2., "Max": 5.0},
  199. "mu_minus_ETA": {"Min": 2., "Max": 5.0},
  200. "log(mu_minus_IPCHI2_OWNPV)": {"Min": 2.0, "Max": 12.0},
  201. "nCandidate": {"Min": 0, "Max": 10},
  202. "totCandidates": {"Min": 0, "Max": 10},
  203. "nTracks": {"Min": 0., "Max": 600.},
  204. "nLongTracks": {"Min": 0., "Max": 200.},
  205. "nVeloTracks": {"Min": 0., "Max": 200.},
  206. "nTTracks": {"Min": 0., "Max": 200.},
  207. "nUpstreamTracks": {"Min": 0., "Max": 200.}
  208. }
  209. def dictVarPlotLimitsKplus ():
  210. return {
  211. #Bplus
  212. "log(1-B_plus_DIRA_OWNPV)": {"Min": -20.0},
  213. "log(B_plus_OWNPV_CHI2)": {"Min": -1.0},
  214. "B_plus_FD_OWNPV": {"Min": -1.0,"Max": 60.0},
  215. "B_plus_ETA_DTF": {"Max": 5.0},
  216. "B_plus_ETA": {"Max": 5.0},
  217. "B_plus_PHI": {"Min":-3.15, "Max": 3.15},
  218. "B_plus_PT_DTF": {"Max":30e3},
  219. "B_plus_PT": {"Max": 30e3},
  220. "B_plus_DOCA1": {"Min": -0.1, "Max": 19.9},
  221. "log(B_plus_IPCHI2_OWNPV)": {"Min": -0.5, "Max": 3.0},
  222. "B_plus_IP_OWNPV": {"Min": -0.01, "Max": 0.1},
  223. "B_pls_NEW_ConePTasym": {"Min": -0.6, "Max": 1.001},
  224. "B_plus_NEW_ConePT": {"Min": -0.6, "Max": 30e3},
  225. "B_plus_NEW_ConeP": {"Min": -1.5, "Max": 300e3},
  226. "B_plus_ConeDeltaETA": {"Min": -1.5, "Max": 6.0}, #TODO: change to NEW after new preselection
  227. "B_plus_NEW_ConeDeltaETA": {"Min": -1.5,"Max": 6.0}, #TODO: change to NEW after new preselection
  228. "B_plus_FDCHI2_OWNPV": {"Min": 100.0, "Max": 1e3},
  229. #K*
  230. "K_star_plus_PT_DTF": {"Min": 1000.0,"Max": 10e3},
  231. "K_star_plus_PT": {"Min": 1000.0,"Max": 10e3},
  232. "K_star_plus_PHI": {"Min":-3.15, "Max": 3.15},
  233. "K_star_plus_IP_OWNPV": {"Max": 10.0},
  234. "K_star_plus_IPCHI2_OWNPV": {"Min": -10.0, "Max": 10.0},
  235. "K_star_plus_FD_OWNPV": {"Max": 500.0},
  236. "K_star_plus_FDCHI2_OWNPV": {"Min": 0.0, "Max": 60e3},
  237. "K_star_plus_DIRA_OWNPV": {"Min": -12.5, "Max": 2.5},
  238. "K_star_plus_ETA_DTF": {"Max": 5.0 },
  239. "K_star_plus_ETA": {"Max": 5.0},
  240. #K+
  241. "K_plus_IPCHI2_OWNPV": {"Min": 1.0, "Max": 11.0},
  242. "K_plus_IP_OWNPV": {"Max": 2.0},
  243. "K_plus_MINIPCHI2": {"Min": -0.5, "Max": 2e3},
  244. "K_plus_MINIP": {"Max": 2.0},
  245. "K_plus_OWNPV_CHI2": {"Min": 0.5},
  246. "K_plus_PT_DTF": {"Max": 9e3},
  247. "K_plus_PT": {"Max": 9e3},
  248. "K_star_PHI": {"Min":-3.15, "Max": 3.15},
  249. "K_plus_ETA_DTF": {"Max": 5.0 },
  250. "K_plus_ETA": {"Max": 5.0},
  251. #pi0
  252. "pi_zero_resolved_PT_DTF": {"Max": 4.2e3},
  253. "pi_zero_resolved_PT": {"Max": 4.2e3},
  254. "pi_zero_resolved_PHI": {"Min":-3.15, "Max": 3.15},
  255. "pi_zero_resolved_ETA_DTF": {"Max": 5.0 },
  256. "pi_zero_resolved_ETA": {"Max": 5.0},
  257. #gammas
  258. "gamma1_PT_DTF": {"Max": 8.0 },
  259. "gamma1_PT": {"Max": 8.0},
  260. "gamma1_PHI": {"Min":-3.15, "Max": 3.15},
  261. "gamma2_PT_DTF": {"Max": 8.0 },
  262. "gamma2_PT": {"Max": 8.0},
  263. "gamma2_PHI": {"Min":-3.15, "Max": 3.15},
  264. #Jpsi
  265. "J_psi_DOCA1": {"Max": 0.2},
  266. "J_psi_FD_OWNPV": {"Max": 35.0} ,
  267. "J_psi_FDCHI2_OWNPV": {"Max": 15e3},
  268. "J_psi_IP_OWNPV": {"Max": 1.0},
  269. "J_psi_DIRA_OWNPV": {"Min": -16.0, "Max": -4.0},
  270. "J_psi_OWNPV_CHI2": {"Min": 0.9},
  271. #mu+
  272. "mu_plus_PT_DTF": {"Max": 10e3},
  273. "mu_plus_PT": {"Max": 10e3},
  274. "mu_plus_PHI": {"Min":-3.15, "Max": 3.15},
  275. "mu_plus_OWNPV_CHI2": {"Min": 0.5},
  276. "mu_plus_IP_OWNPV": {"Max": 4.0},
  277. #mu-
  278. "mu_minus_PT_DTF": {"Max": 10e3},
  279. "mu_minus_PT": {"Max": 10e3},
  280. "mu_minus_PHI": {"Min":-3.15, "Max": 3.15},
  281. "mu_minus_OWNPV_CHI2": {"Min": 0.5},
  282. "mu_minus_IP_OWNPV": {"Max": 4.0}
  283. }
  284. def ListOfKplusVars(whichParticle = -1): #TODO this can be so much improved
  285. #-1 add all vars,
  286. # 0: Global
  287. # anything else: MC numbering scheme
  288. list_tmp = []
  289. if (whichParticle == 1 or whichParticle == -1):
  290. list_tmp.extend([
  291. # "MLPresponse", #TODO
  292. "B_plus_ThetaL",
  293. "B_plus_ThetaK",
  294. "B_plus_Phi"
  295. ])
  296. if (whichParticle == 0 or whichParticle == -1):
  297. list_tmp.extend([
  298. "nTracks",
  299. "nLongTracks",
  300. "nVeloTracks",
  301. "nTTracks",
  302. "nUpstreamTracks",
  303. "nDownstreamTracks",
  304. "nCandidate",
  305. "totCandidates",
  306. "Q2", #TODO
  307. "nSPDHits"
  308. ])
  309. #B+
  310. if (whichParticle == 521 or whichParticle == -1):
  311. list_tmp.extend([
  312. #"log(1-B_plus_DIRA_OWNPV)",
  313. #"log(B_plus_OWNPV_CHI2)",
  314. #"B_plus_FD_OWNPV",
  315. #"B_plus_FDCHI2_OWNPV",
  316. #"B_plus_IP_OWNPV",
  317. #"log(B_plus_IPCHI2_OWNPV)",
  318. #"B_plus_DOCA1", #TODO
  319. #"B_plus_NEW_ConePTasym", #TODO
  320. #"B_plus_NEW_ConePT",
  321. #"B_plus_NEW_ConeP",
  322. #"B_plus_NEW_ConeDeltaETA",
  323. #"B_plus_CONEDELTAPHI", #TODO
  324. "B_plus_M",
  325. "B_plus_PHI",
  326. #"B_plus_ETA" #TODO
  327. ])
  328. # K*
  329. if (whichParticle == 323 or whichParticle == -1):
  330. list_tmp.extend([
  331. "log(1-K_star_plus_DIRA_OWNPV)",
  332. "log(K_star_plus_OWNPV_CHI2)",
  333. "K_star_plus_FD_OWNPV",
  334. "K_star_plus_FDCHI2_OWNPV",
  335. "K_star_plus_IP_OWNPV",
  336. "log(K_star_plus_IPCHI2_OWNPV)",
  337. "K_star_plus_PT",
  338. "K_star_plus_PHI",
  339. "K_star_plus_ETA" #TODO
  340. ])
  341. # mu
  342. if (whichParticle == 13 or whichParticle == -1):
  343. list_tmp.extend([
  344. "log(1-mu_plus_DIRA_OWNPV)", #TODO
  345. "log(mu_plus_OWNPV_CHI2)",
  346. "mu_plus_FD_OWNPV", #TODO
  347. "mu_plus_FDCHI2_OWNPV",#TODO
  348. "mu_plus_IP_OWNPV",
  349. "log(mu_plus_IPCHI2_OWNPV)",
  350. "mu_plus_PT",
  351. "mu_plus_PHI",
  352. "mu_plus_ETA", #TODO
  353. "log(1-mu_minus_DIRA_OWNPV)",
  354. "log(mu_minus_OWNPV_CHI2)",
  355. "mu_minus_FD_OWNPV",#TODO
  356. "mu_minus_FDCHI2_OWNPV",#TODO
  357. "mu_minus_IP_OWNPV",
  358. "log(mu_minus_IPCHI2_OWNPV)",
  359. "mu_minus_PT",
  360. "mu_minus_PHI",
  361. "mu_minus_ETA" #TODO
  362. ])
  363. #Jpsi
  364. if (whichParticle == 443 or whichParticle == -1):
  365. list_tmp.extend([
  366. "log(1-J_psi_DIRA_OWNPV)", #TODO
  367. "log(J_psi_OWNPV_CHI2)",
  368. "J_psi_FD_OWNPV",
  369. "J_psi_FDCHI2_OWNPV",
  370. "J_psi_IP_OWNPV",
  371. "log(J_psi_IPCHI2_OWNPV)",
  372. "J_psi_PT",
  373. "J_psi_PHI",
  374. "J_psi_ETA" #TODO
  375. ])
  376. #K+
  377. if (whichParticle == 321 or whichParticle == -1):
  378. list_tmp.extend([
  379. "K_plus_TRACK_CHI2NDOF",
  380. "log(1-K_plus_DIRA_OWNPV)", #TODO
  381. "log(K_plus_OWNPV_CHI2)",
  382. "K_plus_FD_OWNPV", #TODO
  383. "K_plus_FDCHI2_OWNPV",#TODO
  384. "K_plus_IP_OWNPV",
  385. "log(K_plus_IPCHI2_OWNPV)",
  386. "K_plus_MINIP",
  387. "K_plus_MINIPCHI2",
  388. "K_plus_PT",
  389. "K_plus_PHI",
  390. "K_plus_ETA"
  391. ])
  392. # pi0
  393. if (whichParticle == 111 or whichParticle == -1):
  394. list_tmp.extend([
  395. "pi_zero_resolved_CL",
  396. "pi_zero_resolved_PT",
  397. "pi_zero_resolved_PHI",
  398. "pi_zero_resolved_ETA"
  399. ])
  400. #gamma
  401. if (whichParticle == 22 or whichParticle == 111 or whichParticle == -1):
  402. list_tmp.extend([
  403. "log(gamma1_PT)",
  404. "gamma1_PHI",
  405. "gamma1_ETA", #TODO
  406. "gamma2_CL",
  407. "gamma1_CL",
  408. "log(gamma2_PT)",
  409. "gamma2_PHI",
  410. "gamma2_ETA", #TODO
  411. "open_angle"
  412. ])
  413. return list_tmp
  414. def ListOfKshortVars():
  415. return [
  416. "log(1-B_plus_DIRA_OWNPV)",
  417. "log(B_plus_OWNPV_CHI2)",
  418. "log(B_plus_IPCHI2_OWNPV)",
  419. "B_plus_ENDVERTEX_CHI2",
  420. "B_plus_FD_OWNPV",
  421. "B_plus_IP_OWNPV",
  422. "B_plus_PT",
  423. "B_plus_DOCA1",
  424. "B_plus_NEW_ConePTasym",
  425. "B_plus_PT",
  426. "K_star_plus_PT",
  427. "log(K_star_plus_IPCHI2_OWNPV)",
  428. "K_star_plus_PT",
  429. #"K_star_plus_M",
  430. "log(K_short_IPCHI2_OWNPV)",
  431. "K_short_FD_OWNPV",
  432. "K_short_PT",
  433. "K_short_ETA",
  434. "Ks_pi_minus_PX",
  435. "Ks_pi_minus_PY",
  436. "Ks_pi_minus_PZ",
  437. "Ks_pi_minus_PT",
  438. "Ks_pi_minus_PE",
  439. "Ks_pi_minus_P",
  440. "Ks_pi_minus_ETA",
  441. "Ks_pi_plus_PX",
  442. "Ks_pi_plus_PY",
  443. "Ks_pi_plus_PZ",
  444. "Ks_pi_plus_PT",
  445. "Ks_pi_plus_PE",
  446. "Ks_pi_plus_P",
  447. "Ks_pi_plus_ETA",
  448. "pi_plus_PX",
  449. "pi_plus_PY",
  450. "pi_plus_PZ",
  451. "pi_plus_PT",
  452. "pi_plus_PE",
  453. "pi_plus_P",
  454. "pi_plus_ETA",
  455. "log(pi_plus_IPCHI2_OWNPV)",
  456. "mu_plus_PX",
  457. "mu_plus_PY",
  458. "mu_plus_PZ",
  459. "mu_plus_PT",
  460. "mu_plus_PE",
  461. "mu_plus_P",
  462. "mu_plus_ETA",
  463. "log(mu_plus_IPCHI2_OWNPV)",
  464. "mu_minus_PX",
  465. "mu_minus_PY",
  466. "mu_minus_PZ",
  467. "mu_minus_PT",
  468. "mu_minus_PE",
  469. "mu_minus_P",
  470. "mu_minus_ETA",
  471. "log(mu_minus_IPCHI2_OWNPV)",
  472. "nCandidate",
  473. "totCandidates",
  474. "nTracks",
  475. "nLongTracks",
  476. "nVeloTracks",
  477. "nTTracks",
  478. "nUpstreamTracks"
  479. ]
  480. def ListOfAllVars():
  481. if (KshortChannel()): return ListOfKshortVars()
  482. else: return ListOfKplusVars(whichParticle = -1)