Active Volume in LArSoft Tyler Alion tylerdalion@gmail.com April 12, 2016 Easy part: Simple addition to Geometry � Hard part: Generalize LArG4 electron drift 1
Active Geometry TPCGeo � U V Z � volTPCActive volTPC � - dimensions - world transform matrix volTPC - root volume � volTPCActive � - dimensions - world transform matrix - root volume No way to get Active center � Potential confusion in fiducial cuts… 2
Active Geometry (easy fix) Add TPCGeo function: � U V Z - GetActiveCenter(xyz) volTPCActive - don’t even need to save new transform volTPC with root volume � - GetCenter(xyz) in all **Geo’s for that matter… � Add Geometry function: � GetActiveCenter(double *xyz) - GetActiveBounds(xyz) - Min/Max bounds of all TPCs / TPCActives - Standardize fiducial cuts 3
Particles crossing wire planes no simulation in/behind wire planes effects here change per detector 35t track flattens off Thanks to Tom for providing Tick Similar ArgoNeuT?? tracks seem to “bounce off” I’ve seen it somewhere, I can’t find a figure of it Also LongBo and ShortBo -Michelle 4
Particles crossing wire planes no simulation in/behind wire planes effects here change per detector Field Cage volTPC ? ? U V Z Z V U dead � space volTPCActive � � � (APA) y or z x 5
Setting the Active Volume • LArVoxelReadoutGeometry : G4VUserParallelWorld — Finds and voxelizes every “volTPCActive” — Sets as a LArVoxelReadout Sensitive Detector • LArVoxelReadout : G4VSensitiveDetector — ProcessHits passes step info to DriftIonizationElectrons — Drift time calculated based off of step x position — IDEs added to nearest SimChannel for each view — knows field between planes, adds drift time accordingly — Already an if statement to catch activity behind U plane: if(XDrift < 0.) return; Anything I propose would fit in this if block + the fcl switch. Won’t slow anyone down. 6
Proposed Change to provide realistic feature in MC at wire plane crossing Field Cage ? ? LArVoxelReadoutGeometry U V Z Z V U • fcl option to set entire “volTPC” as Sensitive Detector dead � space LArVoxelReadout � if(XDrift < 0. && fWholeTPC) � • � � • check if within yz boundaries of (APA) plane • drift based off of field between planes, already known 7
Problems to Discuss Further Field Cage “Skipped” planes for example: ? ? • U sees nothing, so we simply do not U V Z Z V U save the IDEs here • V sees… non-bipolar signal? nothing? dead � space Different Detectors � � • Definitely see something at crossing, � � but what? (APA) • 35t flattens out, LArIAT/ArgoNeuT does something different Can this difference be sufficiently • described with fields already saved? 8
Takeaway Points • Standardize active geometry in interface � • Save energy depositions in between wire planes? • Not a well understood effect, varies • but there IS an effect that will affect reco • can be a fcl option, with essentially only one more “if” for that option • Brian suggested a drift algorithm base class if more “if” statements creep in • Needs more thought If you know of any event displays could you point them out to me? 9
From LBNE CDR 10
Recommend
More recommend