All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Classes | Enumerations | Functions | Variables
sbnd Namespace Reference

LArSoft plugin for SBND CRT detector simulation parameters. More...

Namespaces

 comm
 
 CosmicIdUtils
 
 crt
 
 CRTCommonUtils
 
 testing
 Namespace including SBND-specific testing.
 
 ToF
 
 TPCGeoUtil
 
 trigger
 

Classes

class  AnalysisTreeDataStruct
 
class  AnalysisTree
 Creates a simple ROOT tree with tracking and calorimetry information. More...
 
class  ApaCrossCosmicIdAlg
 
class  CosmicIdAlg
 
class  CpaCrossCosmicIdAlg
 
class  CrtHitCosmicIdAlg
 
class  CrtTrackCosmicIdAlg
 
class  FiducialVolumeCosmicIdAlg
 
class  GeometryCosmicIdAlg
 
class  PandoraNuScoreCosmicIdAlg
 
class  PandoraT0CosmicIdAlg
 
class  StoppingParticleCosmicIdAlg
 
class  CosmicIdAna
 
class  CosmicIdTree
 
class  CRTHitCosmicIdAna
 
class  CRTTrackCosmicIdAna
 
class  StoppingCosmicIdAna
 
class  CRTDetSimAna
 
struct  CRTTruthMatch
 
class  CRTFullRecoAna
 
class  CRTHitRecoAna
 
class  CRTT0MatchingAna
 
class  CRTTrackMatchingAna
 
class  CRTTrackRecoAna
 
class  CRTGeometryHelper
 
class  CRTSimHitProducer
 
class  CRTT0Matching
 
class  CRTTrackMatching
 
class  CRTTrackProducer
 
struct  CRTavehit
 
class  CRTTzeroProducer
 
class  CRTBackTracker
 
class  CRTEventDisplay
 
struct  CRTStrip
 
class  CRTHitRecoAlg
 
struct  matchCand
 
class  CRTT0MatchAlg
 
class  CRTTrackMatchAlg
 
class  CRTTrackRecoAlg
 
class  GettingT0Tags
 
class  RunningT0Tagging
 
struct  CRTSipmGeo
 
struct  CRTStripGeo
 
struct  CRTModuleGeo
 
struct  CRTTaggerGeo
 
class  CRTGeoAlg
 
class  TPCGeoAlg
 
class  SBNDGeometryHelper
 
class  NuAnaAlg
 
class  NuAna
 A module to extract the info from the Monte Carlo generator GENIE. More...
 
class  ToFAnalyzer
 
class  ToFFilter
 
class  ToFProducer
 

Enumerations

enum  CRTPlane {
  kCRTNotDefined = -1, kCRTBot = 0, kCRTFaceSouth = 1, kCRTFaceNorth,
  kCRTSideWest, kCRTSideEast, kCRTTopLow, kCRTTopHigh,
  kCRTPosMax
}
 
enum  reweight {
  kNCEL, kQEMA, kQEVec, kResGanged,
  kCCRes, kNCRes, kCoh, kNonResRvp1pi,
  kNonResRvbarp1pi, kNonResRvp2pi, kNonResRvbarp2pi, kResDecay,
  kNC, kDIS, kDISnucl, kAGKY,
  kNReWeights
}
 

Functions

void vmanip (std::vector< float > v, float *ave, float *rms)
 
CRTavehit fillme (uint32_t i, uint16_t j, int32_t k, uint16_t l, float a, float b, float c, float d, float e, float f, float g, int p, std::string t)
 
CRTavehit copyme (sbn::crt::CRTHit myhit)
 
sbn::crt::CRTTrack shcut (CRTavehit ppA, CRTavehit ppb, uint32_t time0s, uint16_t terr)
 
void vmanip (std::vector< double > v, double *ave, double *rms)
 
void set_def (sbn::crt::CRTTzero tz)
 
matchCand makeNULLmc ()
 

Variables

struct sbnd::CRTavehit tempah
 

Detailed Description

LArSoft plugin for SBND CRT detector simulation parameters.

Framework includes.

Makes sbnd::crt::CRTData from sbnd::crt::FEBData.

Class for SBND CRT detector simulation parameters.

Author
Andy Mastbaum
Marco Del TuttoClass: CRTDetSim Module Type: producer File: CRTDetSim_module.cc

Based on LArIAT TOFSimDigits.cc (Author: Lucas Mendes Santos)

Author: mastb.nosp@m.aum@.nosp@m.uchic.nosp@m.ago..nosp@m.edu

Class: CRTSimHitProducer Module Type: producer File: CRTSimHitProducer_module.cc

Producer module for constructing CRTHits from simulated CRT data

Author: Thomas Brooks E-mail address: tbroo.nosp@m.ks@f.nosp@m.nal.g.nosp@m.ov

This class contains all the parameters for the CRT detector simulation. Note that physics parameters do not have default values, and all parameters need to be initialized via fhicl.

Author
Andy Mastbaum
Marco Del Tutto

This class loops over sbnd::crt::FEBData objects and only selects strips which have both SiPM ADC values above a certain (configurable) threshold. The two SiPMs in the selected strips are then saved in sbnd::crt::CRTData objects.

Author
Marco Del Tutto

Class: CRTT0Matching Module Type: producer File: CRTT0Matching_module.cc

Author: Thomas Brooks E-mail address: tbroo.nosp@m.ks@f.nosp@m.nal.g.nosp@m.ov

Modified from CRTT0Matching by Thomas Warburton.

Enumeration Type Documentation

Enumerator
kCRTNotDefined 

Not defined.

kCRTBot 

Bottom.

kCRTFaceSouth 

Face South (Front)

kCRTFaceNorth 

Face North (Back)

kCRTSideWest 

Side Weast (Left)

kCRTSideEast 

Side East (Right)

kCRTTopLow 

Top Low.

kCRTTopHigh 

Top High.

kCRTPosMax 

Definition at line 25 of file sbndcode/sbndcode/CRT/CRTUtils/CRTCommonUtils.h.

25  {
26  kCRTNotDefined = -1, ///< Not defined
27  kCRTBot = 0, ///< Bottom
28  kCRTFaceSouth = 1, ///< Face South (Front)
29  kCRTFaceNorth, ///< Face North (Back)
30  kCRTSideWest, ///< Side Weast (Left)
31  kCRTSideEast, ///< Side East (Right)
32  kCRTTopLow, ///< Top Low
33  kCRTTopHigh, ///< Top High
35  };
Not defined.
Enumerator
kNCEL 
kQEMA 
kQEVec 
kResGanged 
kCCRes 
kNCRes 
kCoh 
kNonResRvp1pi 
kNonResRvbarp1pi 
kNonResRvp2pi 
kNonResRvbarp2pi 
kResDecay 
kNC 
kDIS 
kDISnucl 
kAGKY 
kNReWeights 

Definition at line 25 of file NuAnaAlg.h.

Function Documentation

CRTavehit sbnd::copyme ( sbn::crt::CRTHit  myhit)

Definition at line 425 of file sbndcode/sbndcode/CRT/CRTTrackProducer_module.cc.

426 {
427 
428  CRTavehit h;
429 
430  h.ts0_ns = myhit.ts0_ns;
431  h.ts0_ns_err = 0;
432  h.ts1_ns = myhit.ts1_ns;;
433  h.ts1_ns_err = 0;
434  h.x_pos = myhit.x_pos;
435  h.x_err = myhit.x_err;
436  h.y_pos = myhit.y_pos;
437  h.y_err = myhit.y_err;
438  h.z_pos = myhit.z_pos;
439  h.z_err = myhit.z_err;
440  h.pe = myhit.peshit;
441  h.plane = myhit.plane;
442  h.tagger = myhit.tagger;
443 
444  return(h);
445 
446 } // copyme()
float z_err
position uncertainty in z-direction (cm).
Definition: CRTHit.hh:43
float x_err
position uncertainty in x-direction (cm).
Definition: CRTHit.hh:39
double ts1_ns
Timestamp T1 ([signal time w.r.t. Trigger time]), in UTC absolute time scale in nanoseconds from the ...
Definition: CRTHit.hh:34
int plane
Name of the CRT wall (in the form of numbers).
Definition: CRTHit.hh:36
float peshit
Total photo-electron (PE) in a crt hit.
Definition: CRTHit.hh:27
float y_err
position uncertainty in y-direction (cm).
Definition: CRTHit.hh:41
while getopts h
float z_pos
position in z-direction (cm).
Definition: CRTHit.hh:42
double ts0_ns
Timestamp T0 (from White Rabbit), in UTC absolute time scale in nanoseconds from the Epoch...
Definition: CRTHit.hh:32
float y_pos
position in y-direction (cm).
Definition: CRTHit.hh:40
float x_pos
position in x-direction (cm).
Definition: CRTHit.hh:38
std::string tagger
Name of the CRT wall (in the form of strings).
Definition: CRTHit.hh:45
CRTavehit sbnd::fillme ( uint32_t  i,
uint16_t  j,
int32_t  k,
uint16_t  l,
float  a,
float  b,
float  c,
float  d,
float  e,
float  f,
float  g,
int  p,
std::string  t 
)

Definition at line 397 of file sbndcode/sbndcode/CRT/CRTTrackProducer_module.cc.

400 {
401 
402  CRTavehit h;
403 
404  h.ts0_ns = ts0_ns;
405  h.ts0_ns_err = ts0_ns_err;
406  h.ts1_ns = ts1_ns;
407  h.ts1_ns_err = ts1_ns_err;
408 
409  h.x_pos = x_pos;
410  h.x_err = x_err;
411  h.y_pos = y_pos;
412  h.y_err = y_err;
413  h.z_pos = z_pos;
414  h.z_err = z_err;
415  h.pe = pe;
416  h.plane = plane;
417  h.tagger = tagger;
418 
419  return(h);
420 
421 } // fillme()
while getopts h
matchCand sbnd::makeNULLmc ( )

Definition at line 41 of file sbndcode/sbndcode/CRT/CRTUtils/CRTT0MatchAlg.cc.

41  {
43  matchCand null;
44  null.thishit = hit;
45  null.t0 = -99999;
46  null.dca = -99999;
47  null.extrapLen = -99999;
48  return null;
49 }
process_name hit
Definition: cheaterreco.fcl:51
void sbnd::set_def ( sbn::crt::CRTTzero  tz)
sbn::crt::CRTTrack sbnd::shcut ( CRTavehit  ppA,
CRTavehit  ppb,
uint32_t  time0s,
uint16_t  terr 
)

Definition at line 450 of file sbndcode/sbndcode/CRT/CRTTrackProducer_module.cc.

451 {
452 
453  sbn::crt::CRTTrack newtr;
454 
455  newtr.ts0_s = time0s;
456  newtr.ts0_s_err = terr;
457  newtr.ts0_ns_h1 = ppA.ts0_ns;
458  newtr.ts0_ns_err_h1 = ppA.ts0_ns_err;
459  newtr.ts0_ns_h2 = ppB.ts0_ns;
460  newtr.ts0_ns_err_h2 = ppB.ts0_ns_err;
461  newtr.ts0_ns = (uint32_t)(0.5*(ppA.ts0_ns+ppB.ts0_ns));
462  newtr.ts0_ns_err = (uint16_t)(0.5*sqrt(ppA.ts0_ns_err*ppA.ts0_ns_err+ppB.ts0_ns_err*ppB.ts0_ns_err));
463  newtr.ts1_ns = (int32_t)(0.5*(ppA.ts1_ns+ppB.ts1_ns));
464  newtr.ts1_ns_err = (uint16_t)(0.5*sqrt(ppA.ts0_ns_err*ppA.ts0_ns_err+ppB.ts0_ns_err*ppB.ts0_ns_err));
465  newtr.peshit = ppA.pe+ppB.pe;
466  newtr.x1_pos = ppA.x_pos;
467  newtr.x1_err = ppA.x_err;
468  newtr.y1_pos = ppA.y_pos;
469  newtr.y1_err = ppA.y_err;
470  newtr.z1_pos = ppA.z_pos;
471  newtr.z1_err = ppA.z_err;
472  newtr.x2_pos = ppB.x_pos;
473  newtr.x2_err = ppB.x_err;
474  newtr.y2_pos = ppB.y_pos;
475  newtr.y2_err = ppB.y_err;
476  newtr.z2_pos = ppB.z_pos;
477  newtr.z2_err = ppB.z_err;
478  float deltax = ppA.x_pos-ppB.x_pos;
479  float deltay = ppA.y_pos-ppB.y_pos;
480  float deltaz = ppA.z_pos-ppB.z_pos;
481  newtr.length = sqrt(deltax*deltax+deltay*deltay+deltaz*deltaz);
482  newtr.thetaxy = atan2(deltax,deltay);
483  newtr.phizy = atan2(deltaz,deltay);
484  newtr.plane1 = ppA.plane;
485  newtr.plane2 = ppB.plane;
486 
487  return(newtr);
488 
489 } // shcut()
double ts0_ns_err_h2
T0 time error of second CRTHit.
Definition: CRTTrack.hh:51
double ts1_ns_err
Error on average T1 (nanosecond) of the two hits making the track.
Definition: CRTTrack.hh:29
double ts0_s
Average time (second) of the two hits making the track.
Definition: CRTTrack.hh:24
double ts0_ns_err
Error on average T0 (nanosecond) of the two hits making the track.
Definition: CRTTrack.hh:27
double ts0_s_err
Average time (second) spread of the two hits making the track.
Definition: CRTTrack.hh:25
float x1_pos
X position of first CRTHit.
Definition: CRTTrack.hh:33
float y1_err
Y position error of first CRTHit.
Definition: CRTTrack.hh:36
double ts0_ns_h1
T0 time of first CRTHit.
Definition: CRTTrack.hh:48
float z1_err
Z position error of first CRTHit.
Definition: CRTTrack.hh:38
float y2_err
Y position error of second CRTHit.
Definition: CRTTrack.hh:42
double ts1_ns
Average T1 (nanosecond) of the two hits making the track.
Definition: CRTTrack.hh:28
float length
Track length.
Definition: CRTTrack.hh:45
double ts0_ns
Average T0 (nanosecond) of the two hits making the track.
Definition: CRTTrack.hh:26
float peshit
Total photoelectrons for this track (sum of PEs from the two CRTHits)
Definition: CRTTrack.hh:23
double ts0_ns_err_h1
T0 time error of first CRTHit.
Definition: CRTTrack.hh:49
float z1_pos
Z position of first CRTHit.
Definition: CRTTrack.hh:37
double ts0_ns_h2
T0 time of second CRTHit.
Definition: CRTTrack.hh:50
float phizy
Track angle on the Z-Y plane.
Definition: CRTTrack.hh:47
int plane1
Plane ID of first CRTHit.
Definition: CRTTrack.hh:30
float z2_pos
Z position of second CRTHit.
Definition: CRTTrack.hh:43
float y2_pos
Y position of second CRTHit.
Definition: CRTTrack.hh:41
float y1_pos
Y position of first CRTHit.
Definition: CRTTrack.hh:35
float x2_pos
X position of second CRTHit.
Definition: CRTTrack.hh:39
float x1_err
X position error of first CRTHit.
Definition: CRTTrack.hh:34
int plane2
Plane ID of second CRTHit.
Definition: CRTTrack.hh:31
float z2_err
Z position error of second CRTHit.
Definition: CRTTrack.hh:44
float x2_err
X position error of second CRTHit.
Definition: CRTTrack.hh:40
float thetaxy
Track angle on the X-Y plane.
Definition: CRTTrack.hh:46
void sbnd::vmanip ( std::vector< float >  v,
float *  ave,
float *  rms 
)

Definition at line 374 of file sbndcode/sbndcode/CRT/CRTTrackProducer_module.cc.

375 {
376 
377  *ave=0.0; *rms =0.0;
378  if (v.size()>0) {
379 
380  // find the mean and *rms of all the vector elements
381  double sum = std::accumulate(v.begin(), v.end(), 0.0);
382  double mean = sum / v.size();
383  *ave=mean;
384 
385  if (v.size()>1) {
386  double sq_sum = std::inner_product(v.begin(), v.end(), v.begin(), 0.0);
387  double stdev = std::sqrt(sq_sum / v.size() - mean * mean);
388  *rms=stdev;
389  }
390 
391  }
392 
393 } // vmanip()
double mean(const std::vector< short > &wf, size_t start, size_t nsample)
Definition: UtilFunc.cxx:13
void sbnd::vmanip ( std::vector< double >  v,
double *  ave,
double *  rms 
)

Variable Documentation

struct sbnd::CRTavehit sbnd::tempah