Support #1809
Analysis of Run 7469: E1-C-E2 powered in SSU
0%
Description
This issue lists progress towards an emittance measurement in the upstream tracker using run 7469.
Files
Updated by Blackmore, Victoria over 7 years ago
- File electron_time_of_flight.pdf electron_time_of_flight.pdf added
- File 1d_plots____pz_from_0.0_to_6000.0.pdf 1d_plots____pz_from_0.0_to_6000.0.pdf added
- File 2d_plots____pz_from_0.0_to_6000.0.pdf 2d_plots____pz_from_0.0_to_6000.0.pdf added
- File momentum_comparison.pdf momentum_comparison.pdf added
- File beam_parameter_summary.pdf added
- File beam_centre_summary.pdf added
Attaching several sets of plots from data, as shown at the Optics Review.
-- See item #5 for "beam_parameter_summary.pdf" and "beam_centre_summary.pdf", as these will match the simulation ones in terms of colours, etc.
Updated by Blackmore, Victoria over 7 years ago
- File 1d_plots____pz_from_0.0_to_6000.0.pdf 1d_plots____pz_from_0.0_to_6000.0.pdf added
- File 2d_plots____pz_from_0.0_to_6000.0.pdf 2d_plots____pz_from_0.0_to_6000.0.pdf added
- File momentum_comparison.pdf momentum_comparison.pdf added
- File simulation_with_Holge_fields_beam_parameters.pdf simulation_with_Holge_fields_beam_parameters.pdf added
- File simulation_with_Holge_fields_beam_parameters.pdf simulation_with_Holge_fields_beam_parameters.pdf added
The same sub-set of plots, produced by the same analysis script, on a MAUS simulation produced by F. Drielsma using the OPERA field model (I think!).
Cuts on these plots and those in #1 are:- TOF from TOF0 to TOF1 between 27 and 40ns
- P-value of TKU reconstructed track > 0.05
Plots that show "Pz slices" are in 5MeV steps, from 160 to 240MeV (where a 'slice' is a hard acceptance cut on momentum between those values, say 160 to 165MeV)
Updated by Blackmore, Victoria over 7 years ago
- File run7469_beam_parameter_summary.pdf run7469_beam_parameter_summary.pdf added
- File run7469_beam_centre_summary.pdf run7469_beam_centre_summary.pdf added
.... and this time, the data plots with colours that match the simulation plots.
Updated by Blackmore, Victoria over 7 years ago
- File no_momentum_selection___simulation_with_Holge_fields_beam_centre.pdf no_momentum_selection___simulation_with_Holge_fields_beam_centre.pdf added
- File no_momentum_selection___simulation_with_Holge_fields_beam_parameters.pdf no_momentum_selection___simulation_with_Holge_fields_beam_parameters.pdf added
Blackmore, Victoria wrote:
The same sub-set of plots, produced by the same analysis script, on a MAUS simulation produced by F. Drielsma using the OPERA field model (I think!).
Cuts on these plots and those in #1 are:
- TOF from TOF0 to TOF1 between 27 and 40ns
- P-value of TKU reconstructed track > 0.05
Plots that show "Pz slices" are in 5MeV steps, from 160 to 240MeV (where a 'slice' is a hard acceptance cut on momentum between those values, say 160 to 165MeV)
Updated by Rogers, Chris about 7 years ago
I attach a set of residuals plots for extrapolation of the tracker tracks back to the TOFs. My procedure is:
- Read in most upstream tracker trackpoint from TKU; assume muon hypothesis; use covariances from TKU as an estimate for initial covariance matrix
- project centroid and covariances to TOF1
- set time of tracker trackpoint so that time at TOF1 is 0
- project to TOF0
I have the following material processes active:
- moliere MCS (I use the pdg formula, ignoring the log term)
- bethe bloch pdg formula, ignoring density effect
- NO energy straggling or change in energy spread on passage through material
I have a user defined list of materials; at the moment I include BC600, POLYSTYRENE, AIR, POLYCARBONATE; I didn't include steel or Aluminium.
I plot residuals at TOF1 and TOF0 in x, y, time. I make two sets of plots
- raw residuals (projected TKU - measured)
- normalised residuals = raw residuals / (projected track error**2 + estimated measurement error**2)**0.5 i.e. I add the projected error from tracker to the error from TOF in quadrature
I did not yet apply the cuts - I couldn't read the ROOT file victoria attached to #1833 for some reason, it was making TBrowser crash.
I note that
- The distributions are double peaked. Hopefully the second peak will disappear once the cuts are applied
- The distribution RMS is greater than the estimated errors would suggest (looks like this is true even when cuts are applied); this is something to investigate
Updated by Blackmore, Victoria about 7 years ago
I haven't looked at the residuals plots yet, but I can tell you why the TBrowser was crashing -- in the root file I uploaded in #1833, I fill in TMath::Infinity() whenever a particle exists at one detector but doesn't at another (so that the branches don't come out of alignment). Its an easily checkable, but absurd number -- if they're in a TBrowser-driven plot they will crash it. You can check by comparing to TMath::Infinity() (or TMath.Infinity() for pyROOT).
(I couldn't think of a more elegant way of handling it at the time.. say there's a particle that hits tof0 and tof1 but not tku, tof0 and tof1 will have proper values filled in, the tku values will be TMath::Infinity())
(If you insist on cuts that say there's hits at tof0, tof1 and tku, you won't see this problem)
Updated by Rogers, Chris about 7 years ago
New revision of the TKU -> TOF extrapolation residuals.
- I fixed some bugs in backwards propagation (following useful abuse at CM44).
- I merged the latest version of MAUS trunk into my analysis branch, correcting the field in the tracker region.
- I downloaded the latest geometry, correcting the quad fields. The geometry ID is 137 (I will add this to the legend in the future).
(Thanks Francois for last two fixes).
Some features of the track extrapolation:
- TOF1:
- All of the pulls are too wide. I use tracker estimated errors for the input, which we know is underestimating the track reconstruction errors. This may be the source.
- The mean TOF1 position is offset. SSU misalignment? As far as I am aware, the detector misalignments are in this analysis.
- TOF0:
- as others have noted t is a bit inconsistent with tracker reco, at the 1-2 sigma level. It is also asymmetric. Straggling?
- The position residuals are very wide (300 mm RMS). This is just the effect of scattering in TOF1 I think.
- The x position residual is asymmetric and double peaked.
- Some of the tracks are probably extrapolating outside the quadrupole field region (presumably they scattered back in to the acceptance at TOF1, which my routines can't manage). I need to think about how to deal with that. Maybe the best thing is to apply a fiducial cut and see if it removes some of the features above? For discussion I think.
Updated by Rogers, Chris about 7 years ago
Nb: python snippets to extract the MAUS version number from reco:
def load_job_header(self): file_name = self.config.reco_file root_file = ROOT.TFile(file_name, "READ") # pylint: disable = E1101 print "Setting up data tree" jh = ROOT.MAUS.JobHeaderData() # pylint: disable = E1101 tree = root_file.Get("JobHeader") tree.SetBranchAddress("job_header", jh) tree.GetEntry(0) self.maus_version = jh.GetJobHeader().GetMausVersionNumber()
and to extract the geometry ID:
def get_geometry(self): path_to_info_file = self.config.info_file info = libxml2.parseFile(path_to_info_file) path = "gdml/MICE_Information/Configuration_Information/GeometryID" geo_id = info.xpathEval(path)[0].prop("value") info.freeDoc() return geo_id
and to put in a text box:
text_boxes = [] def get_text_box(self, residual_list, in_cut_residual_list): text_box = ROOT.TPaveText(0.6, 0.4, 0.9, 0.9, "NDC") text_box.SetFillColor(0) text_box.SetTextSize(0.04) text_box.SetTextAlign(12) text_box.SetTextSize(0.03) text_box.SetBorderSize(1) text_box.AddText("Preliminary") text_box.AddText("Recon: "+str(maus_version)) text_box.AddText("Geometry: "+str(geometry_id)) text_box.Draw() self.text_boxes.append(text_box) return text_box
I think this should be in analysis plots until the reco/geometry settles down a bit.
Updated by Greis, Jan about 7 years ago
- File 7469-TMResiduals.png 7469-TMResiduals.png added
Chris suggested I add the attached residual file from my track matching propagation. TOF0 is matched by TOF0-1 delta t, TOF1, TOF2, and EMR by x & y position, KL by y position, and upstream and downstream tracks are matched together by a generous cut on beta_z (speed, not beta function) between TOF1 and TOF2. Note that the 2D histograms have logarithmic y axes. Red boxes in the TOF1/2 plots indicate the detector granularity.
The EMR axis labels are currently wrong because of an issue with the EMR error calculations that has just been fixed by Francois though. In the plot, the EMR residuals are in mm.
EMR matching doesn't look too great I think though I guess that is probably mostly due to scattering in the KL. TOF2 isn't nearly as good as TOF1 either so I'm wondering if there are perhaps still issues in the geometry in terms of residual fields downstream?
Updated by Rogers, Chris about 7 years ago
(Repeated from email)
Folks,
Someone suggested during emittance paper meeting on Thurs 14th that Victoria and I make a "top down" list of plots, i.e. plots we think are useful to demonstrate that the reconstruction is working. We had a think and suggest the following set of plots. I think most of them are in hand, a few are "new" plots. We haven't got around to thinking about global reconstruction and PID yet...
Cheers,
Chris and Victoria
Please provide ROOT file, pdf, figure caption and if possible surrounding latex. All plots should be for run 7469 data.
Melissa or tracker group: Tracker low level data; only plots for TKU;- beam profile plots using digits
- beam profile plot using clusters
- number of cluster doublets compared to singlets
- space points number of planes per space point (i.e. number of doublets
vs triplets) - space points x-y 2D plot with doublets in each station; x-y 2D plots
with triplets in each station; please use the same colour
palette/normalisation for all plots
- For each cut variable
- I think there is a radial cut
- I think there is a "road cut" (chi2 cut?)
- histogram of all data with no cuts
- histogram of all data after the cut
- histogram of all data after all blackmore cuts
- Check do cuts require 5 stations?
- VB to add >= 4 stations required in track fit
- PR px vs Kalman px
- PR py vs Kalman py
- PR pz vs Kalman pz
- Should be consistent
- Show Kalman pulls at each plane
- Show p-values
- All the above plus
- Reconstructed MC vs MC truth
- 1D histogram showing reconstructed x, y, px, py, pz - MC truth
- true px vs recon px scatter plot
- true py vs recon py scatter plot
- true pz vs recon pz scatter plot
- TH2D and superimposed TProfile plot of
- pt true vs pt recon
- pt true vs pz recon
- pz true vs pt recon
- pz true vs pz recon
- Slab hit efficiencies
- Space point efficiencies
- Estimated time resolution (e.g compare the two planes)
- Same for MC
- Rayner calibration constants
- TBD
- Superimposed 1D profiles of reconstructed and true x, y, p_x, p_y, p_z at TKU station 1; T
Updated by Rogers, Chris about 7 years ago
- File error_propagation.tar.gz error_propagation.tar.gz added
- File error_propagation.pdf error_propagation.pdf added
I attach some latex for the error propagation stuff I was working on - my analysis script is about half way through the data set, sorry, so I will have to make an update tomorrow when I get in. Nonetheless, I hope it is interesting and worthwhile to include (even if it doesn't quite confirm that everything is okay).
Updated by Rogers, Chris about 7 years ago
- File error_propagation-v2.pdf error_propagation-v2.pdf added
- File error_propagation-v2.tar.gz error_propagation-v2.tar.gz added
Attached updated version with full statistics...
Updated by Rogers, Chris about 7 years ago
- File yingpeng.tar.gz yingpeng.tar.gz added
For yingpeng...
Please build the MAUS branch at:
bzr+ssh://bazaar.launchpad.net/~chris-rogers/maus/tracking_errors/
You will need to download run 7469 data for MAUS-v2.3.1 from reco.mice.rl.ac.uk. Do
mkdir -p reco/MAUS-v2.3.1/07469 cd 07469 wget http://reco.mice.rl.ac.uk/MAUS-v2.3.1/07469_offline.tar tar -xf 07469_offline.tar
Download the attached yingpeng.tar.gz
Do
tar -xzf yingpeng.tar.gz cd 2016-05-06_fit-fields/ ln -s /path/to/reco tmp
When you have all that, let's collide and we can have a go at running the script