527     art::ServiceHandle<geo::Geometry const> geom;
 
  528     art::ServiceHandle<art::TFileService> 
tfs;
 
  532     art::TFileDirectory topdir = tfs->mkdir(
"trkana", 
"TrackAna histograms");
 
  533     art::TFileDirectory 
dir = topdir.mkdir(subdir);
 
  538       dir.make<TH2F>(
"duvcosth", 
"Delta(uv) vs. Colinearity", 100, 0.95, 1., 100, 0., 1.);
 
  539     fHcosth = dir.make<TH1F>(
"colin", 
"Colinearity", 100, 0.95, 1.);
 
  540     fHmcu = 
dir.make<TH1F>(
"mcu", 
"MC Truth U", 100, -5., 5.);
 
  541     fHmcv = 
dir.make<TH1F>(
"mcv", 
"MC Truth V", 100, -5., 5.);
 
  542     fHmcw = 
dir.make<TH1F>(
"mcw", 
"MC Truth W", 100, -20., 20.);
 
  543     fHupull = 
dir.make<TH1F>(
"dupull", 
"U Pull", 100, -20., 20.);
 
  544     fHvpull = 
dir.make<TH1F>(
"dvpull", 
"V Pull", 100, -20., 20.);
 
  545     fHmcdudw = 
dir.make<TH1F>(
"mcdudw", 
"MC Truth U Slope", 100, -0.2, 0.2);
 
  546     fHmcdvdw = 
dir.make<TH1F>(
"mcdvdw", 
"MV Truth V Slope", 100, -0.2, 0.2);
 
  547     fHdudwpull = 
dir.make<TH1F>(
"dudwpull", 
"U Slope Pull", 100, -10., 10.);
 
  548     fHdvdwpull = 
dir.make<TH1F>(
"dvdwpull", 
"V Slope Pull", 100, -10., 10.);
 
  549     fHHitEff = 
dir.make<TH1F>(
"hiteff", 
"MC Hit Efficiency", 100, 0., 1.0001);
 
  550     fHHitPurity = 
dir.make<TH1F>(
"hitpurity", 
"MC Hit Purity", 100, 0., 1.0001);
 
  551     fHstartdx = 
dir.make<TH1F>(
"startdx", 
"Start Delta x", 100, -10., 10.);
 
  552     fHstartdy = 
dir.make<TH1F>(
"startdy", 
"Start Delta y", 100, -10., 10.);
 
  553     fHstartdz = 
dir.make<TH1F>(
"startdz", 
"Start Delta z", 100, -10., 10.);
 
  554     fHenddx = 
dir.make<TH1F>(
"enddx", 
"End Delta x", 100, -10., 10.);
 
  555     fHenddy = 
dir.make<TH1F>(
"enddy", 
"End Delta y", 100, -10., 10.);
 
  556     fHenddz = 
dir.make<TH1F>(
"enddz", 
"End Delta z", 100, -10., 10.);
 
  558                             "Reco Length vs. MC Truth Length",
 
  561                             1.1 * geom->DetLength(),
 
  564                             1.1 * geom->DetLength());
 
  565     fHdl = 
dir.make<TH1F>(
"dl", 
"Track Length Minus MC Particle Length", 100, -50., 50.);
 
  567       dir.make<TH2F>(
"pvsp", 
"Reco Momentum vs. MC Truth Momentum", 100, 0., 5., 100, 0., 5.);
 
  569       "pvspc", 
"Reco Momentum vs. MC Truth Momentum (Contained Tracks)", 100, 0., 5., 100, 0., 5.);
 
  570     fHdp = 
dir.make<TH1F>(
"dp", 
"Reco-MC Momentum Difference", 100, -5., 5.);
 
  571     fHdpc = 
dir.make<TH1F>(
"dpc", 
"Reco-MC Momentum Difference (Contained Tracks)", 100, -5., 5.);
 
  572     fHppull = 
dir.make<TH1F>(
"ppull", 
"Momentum Pull", 100, -10., 10.);
 
  573     fHppullc = 
dir.make<TH1F>(
"ppullc", 
"Momentum Pull (Contained Tracks)", 100, -10., 10.);
 
  576       "mcxstart", 
"MC X Start Position", 10, -2. * geom->DetHalfWidth(), 4. * geom->DetHalfWidth());
 
  578       "mcystart", 
"MC Y Start Position", 10, -geom->DetHalfHeight(), geom->DetHalfHeight());
 
  579     fHmcstartz = 
dir.make<TH1F>(
"mczstart", 
"MC Z Start Position", 10, 0., geom->DetLength());
 
  581       "mcxend", 
"MC X End Position", 10, -2. * geom->DetHalfWidth(), 4. * geom->DetHalfWidth());
 
  583       "mcyend", 
"MC Y End Position", 10, -geom->DetHalfHeight(), geom->DetHalfHeight());
 
  584     fHmcendz = 
dir.make<TH1F>(
"mczend", 
"MC Z End Position", 10, 0., geom->DetLength());
 
  585     fHmctheta = 
dir.make<TH1F>(
"mctheta", 
"MC Theta", 20, 0., 3.142);
 
  586     fHmcphi = 
dir.make<TH1F>(
"mcphi", 
"MC Phi", 10, -3.142, 3.142);
 
  587     fHmctheta_xz = 
dir.make<TH1F>(
"mctheta_xz", 
"MC Theta_xz", 40, -3.142, 3.142);
 
  588     fHmctheta_yz = 
dir.make<TH1F>(
"mctheta_yz", 
"MC Theta_yz", 40, -3.142, 3.142);
 
  589     fHmcmom = 
dir.make<TH1F>(
"mcmom", 
"MC Momentum", 10, 0., 10.);
 
  590     fHmcmoml = 
dir.make<TH1F>(
"mcmoml", 
"MC Momentum", 10, 0., 1.);
 
  591     fHmcke = 
dir.make<TH1F>(
"mcke", 
"MC Kinetic Energy", 10, 0., 10.);
 
  592     fHmckel = 
dir.make<TH1F>(
"mckel", 
"MC Kinetic Energy", 10, 0., 1.);
 
  593     fHmclen = 
dir.make<TH1F>(
"mclen", 
"MC Particle Length", 10, 0., 1.1 * geom->DetLength());
 
  594     fHmclens = 
dir.make<TH1F>(
"mclens", 
"MC Particle Length", 10, 0., 0.1 * geom->DetLength());
 
  597                                "Good X Start Position",
 
  599                                -2. * geom->DetHalfWidth(),
 
  600                                4. * geom->DetHalfWidth());
 
  602       "gystart", 
"Good Y Start Position", 10, -geom->DetHalfHeight(), geom->DetHalfHeight());
 
  603     fHgstartz = 
dir.make<TH1F>(
"gzstart", 
"Good Z Start Position", 10, 0., geom->DetLength());
 
  605       "gxend", 
"Good X End Position", 10, -2. * geom->DetHalfWidth(), 4. * geom->DetHalfWidth());
 
  607       "gyend", 
"Good Y End Position", 10, -geom->DetHalfHeight(), geom->DetHalfHeight());
 
  608     fHgendz = 
dir.make<TH1F>(
"gzend", 
"Good Z End Position", 10, 0., geom->DetLength());
 
  609     fHgtheta = 
dir.make<TH1F>(
"gtheta", 
"Good Theta", 20, 0., 3.142);
 
  610     fHgphi = 
dir.make<TH1F>(
"gphi", 
"Good Phi", 10, -3.142, 3.142);
 
  611     fHgtheta_xz = 
dir.make<TH1F>(
"gtheta_xz", 
"Good Theta_xz", 40, -3.142, 3.142);
 
  612     fHgtheta_yz = 
dir.make<TH1F>(
"gtheta_yz", 
"Good Theta_yz", 40, -3.142, 3.142);
 
  613     fHgmom = 
dir.make<TH1F>(
"gmom", 
"Good Momentum", 10, 0., 10.);
 
  614     fHgmoml = 
dir.make<TH1F>(
"gmoml", 
"Good Momentum", 10, 0., 1.);
 
  615     fHgke = 
dir.make<TH1F>(
"gke", 
"Good Kinetic Energy", 10, 0., 10.);
 
  616     fHgkel = 
dir.make<TH1F>(
"gkel", 
"Good Kinetic Energy", 10, 0., 1.);
 
  617     fHglen = 
dir.make<TH1F>(
"glen", 
"Good Particle Length", 10, 0., 1.1 * geom->DetLength());
 
  618     fHglens = 
dir.make<TH1F>(
"glens", 
"Good Particle Length", 10, 0., 0.1 * geom->DetLength());
 
  621                                "Efficiency vs. X Start Position",
 
  623                                -2. * geom->DetHalfWidth(),
 
  624                                4. * geom->DetHalfWidth());
 
  626                                "Efficiency vs. Y Start Position",
 
  628                                -geom->DetHalfHeight(),
 
  629                                geom->DetHalfHeight());
 
  631       dir.make<TH1F>(
"ezstart", 
"Efficiency vs. Z Start Position", 10, 0., geom->DetLength());
 
  633                              "Efficiency vs. X End Position",
 
  635                              -2. * geom->DetHalfWidth(),
 
  636                              4. * geom->DetHalfWidth());
 
  638       "eyend", 
"Efficiency vs. Y End Position", 10, -geom->DetHalfHeight(), geom->DetHalfHeight());
 
  639     fHeendz = 
dir.make<TH1F>(
"ezend", 
"Efficiency vs. Z End Position", 10, 0., geom->DetLength());
 
  640     fHetheta = 
dir.make<TH1F>(
"etheta", 
"Efficiency vs. Theta", 20, 0., 3.142);
 
  641     fHephi = 
dir.make<TH1F>(
"ephi", 
"Efficiency vs. Phi", 10, -3.142, 3.142);
 
  642     fHetheta_xz = 
dir.make<TH1F>(
"etheta_xz", 
"Efficiency vs. Theta_xz", 40, -3.142, 3.142);
 
  643     fHetheta_yz = 
dir.make<TH1F>(
"etheta_yz", 
"Efficiency vs. Theta_yz", 40, -3.142, 3.142);
 
  644     fHemom = 
dir.make<TH1F>(
"emom", 
"Efficiency vs. Momentum", 10, 0., 10.);
 
  645     fHemoml = 
dir.make<TH1F>(
"emoml", 
"Efficiency vs. Momentum", 10, 0., 1.);
 
  646     fHeke = 
dir.make<TH1F>(
"eke", 
"Efficiency vs. Kinetic Energy", 10, 0., 10.);
 
  647     fHekel = 
dir.make<TH1F>(
"ekel", 
"Efficiency vs. Kinetic Energy", 10, 0., 1.);
 
  649       dir.make<TH1F>(
"elen", 
"Efficiency vs. Particle Length", 10, 0., 1.1 * geom->DetLength());
 
  651       dir.make<TH1F>(
"elens", 
"Efficiency vs. Particle Length", 10, 0., 0.1 * geom->DetLength());
 
art::ServiceHandle< art::TFileService > tfs