You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
while working on the external muon ID of DUNE ND, I wrote the following algorithm to see if a track passes through a pair of readout strips in an RPC, it looks like this:
The detector: The RPC is placed just outside the KLOE magnet, first layer being Foam0, then XX copper Strips, then bakelite etc and the gas gap, after the gas gap, again bakelite etc and in the end Foam1 followed by 'Strip YY'. So the order is Faom0->StripXX-> ... -> gas gap -> ... -> StripYY -> Foam1
The algorithm: I first check if I have hits in the gas gap, if there are, then I scan that track using Points class and access the node names corresponding to those Points, I want to find the particular XX and YY strips in its path.
The issue: most of the time I find YY Strips as well as Foam1 but do not find any XX Strip in the track! That is so weird! My thoughts and tests:
I thought, maybe the gap among points of the Points could be wide enough to miss a thin node (0.5 mm thick strips), so I started subdividing the gap between two points that are widely separated (~0.25 mm), I still don't find the XX strips!
So, I thought maybe, node names are saved corresponding to each point of the "Points". subdividing the gaps may not help because maybe node names corresponding to those mean points are not stored in the root file!
So, as a desperate test, I increased the dimensions of my components 10 times, 0.5 mm strips are now 0.5 cm, I still find majority of tracks have YY Strips but no XX Strips names when accessed through FindNode(x,y,z)->GetName() where (x,y,z) are coordinates of Points accessed using event->Trajectories[trackid].Points.at(ii).Position.X(), Y(), Z().
By the way, in the mac file I specified /edep/db/set/trajectoryBoundary charged:EMIRPC_lv_PV where EMIRPC_lv is the logical volume containing the whole RPC. I alo thought, maybe specifying each strip name would force Points to not miss any of the strips, so I did include edep/db/set/trajectoryBoundary charged:volEMIRPCBakelite_0_PV and all other (84 XX and 212 YY strips!).. which shouldn't be done I suppose because there will be thousands of components in some detectors, for example, straws in the STT volume, writing each node name down seems impractical. Can you please tell me what I am doing wrong, or maybe Points has limitations?
Thanks
The text was updated successfully, but these errors were encountered:
Hi,
while working on the external muon ID of DUNE ND, I wrote the following algorithm to see if a track passes through a pair of readout strips in an RPC, it looks like this:
The detector: The RPC is placed just outside the KLOE magnet, first layer being
Foam0
, thenXX copper Strips
, then bakelite etc and the gas gap, after the gas gap, again bakelite etc and in the endFoam1
followed by 'Strip YY'. So the order isFaom0->StripXX-> ... -> gas gap -> ... -> StripYY -> Foam1
The algorithm: I first check if I have
hits
in the gas gap, if there are, then I scan that track usingPoints
class and access the node names corresponding to thosePoints
, I want to find the particular XX and YY strips in its path.The issue: most of the time I find
YY Strips
as well asFoam1
but do not find anyXX Strip
in the track! That is so weird!My thoughts and tests:
Points
could be wide enough to miss a thin node (0.5 mm thick strips), so I started subdividing the gap between two points that are widely separated (~0.25 mm), I still don't find theXX strips
!mean points
are not stored in the root file!0.5 mm
strips are now0.5 cm
, I still find majority of tracks haveYY Strips
but noXX Strips
names when accessed throughFindNode(x,y,z)->GetName()
where(x,y,z)
are coordinates ofPoints
accessed usingevent->Trajectories[trackid].Points.at(ii).Position.X(), Y(), Z()
.By the way, in the
mac file
I specified/edep/db/set/trajectoryBoundary charged:EMIRPC_lv_PV
whereEMIRPC_lv
is the logical volume containing the whole RPC. I alo thought, maybe specifying each strip name would forcePoints
to not miss any of the strips, so I did includeedep/db/set/trajectoryBoundary charged:volEMIRPCBakelite_0_PV
and all other (84 XX and 212 YY strips!).. which shouldn't be done I suppose because there will be thousands of components in some detectors, for example, straws in theSTT
volume, writing each node name down seems impractical. Can you please tell me what I am doing wrong, or maybePoints
has limitations?Thanks
The text was updated successfully, but these errors were encountered: