GSI Helmholtzzentrum für Schwerionenforschung
Getting Hits by detectors registered in the output root file
Hi All As a lot of you know by now, i am working towards getting a working model of the EIC detector. I have the geometry all constructed properly and i am also seeing (in the event display) showers and collisions and every thing else. But the one thing i am not seeing is anything inside my root files, specifically my branch FairFgtDetPoint has no data inside the leaves. Let me explain clearly. For simplicity i will just take one detector from my EIC and work on it, FGT (Forward Gem Tracker). If i build it fully here is the number of nodes and the volume. Info in <TGeoManager::Voxelize>: Voxelizing... Info in <TGeoManager::CloseGeometry>: Building cache... Info in <TGeoManager::CloseGeometry>: 28 nodes/ 9 volume UID's in FAIR geometry Info in <TGeoManager::CloseGeometry>: ----------------modeler ready---------------- and this is what it looks like Now i will show you how the root file looks like You can see that there is nothing inside my leaves in the root file. For this particular FGT here is part of the geometry file: //************************************************* fgt01FGGD#1 cave TUBE air 0.000000 0.000000 -7.500000 301.000000 810.000000 0.000000 0.000000 7.500000 0.000000 0.000000 1415.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 //************************************************* fgt01FGGD#2 cave 0.000000 0.000000 1515.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 //************************************************* fgt01FGGD#3 cave 0.000000 0.000000 1615.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 //changed FGT_FR4 to FGT_kapton fgt01FGGF#1 fgt01FGGD#1 TUBE FGT_kapton 0.000000 0.000000 -0.125000 301.000000 810.000000 0.000000 0.000000 0.125000 0.000000 0.000000 -7.375000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 .... In order to get something in my root file, i tried to make it even simpler and built just one disc. I find that if first volume (fgt01FGGD#1) is made of air, then no matter how many nodes of other volumes i add to my fgt detector, i am not getting anything in my root file. But if i make it with silicon for example, then i am seeing data in the output file. This is very puzziling to me. Another place in my EMLF detector, i have more than 9900 nodes and they all look the same except different positions in space. So i have them defined as emlf01box#1 cave BOX PWO 15.000000 -15.000000 -400.000000 15.000000 15.000000 -400.000000 -15.000000 15.000000 -400.000000 -15.000000 -15.000000 -400.000000 15.000000 -15.000000 400.000000 15.000000 15.000000 400.000000 -15.000000 15.000000 400.000000 -15.000000 -15.000000 400.000000 -1485.000000 -1485.000000 3601.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 //************************************************* emlf01box#2 cave -1485.000000 -1455.000000 3601.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 //************************************************* emlf01box#3 cave -1485.000000 -1425.000000 3601.000000 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 .... Here also i am facing the same problem. I am not able to register any hits in the root file, but i can see the shower that particles create on striking the detector. Any help will be much appreciated Cheers Raghav
Re: Getting Hits by detectors registered in the output root file
Which is your sensitive medium Because only sensitive media can produce hits
Hi Stefano Thanks for the quick reply. I see what i was doing, i mixed up the sensitivity flag in the media file. Now they are all sensitive except vacuum. But now root is telling me something (not like an error), but i dont know what it means, detector I/Os: FairGenericParIo **** GTRIGI: IEVENT= 1 IDEVT= 1 Random Seeds = 4357 0 [INFO ] [26.04.2012 17:42:25] [FairPrimaryGenerator.cxx::GenerateEvent:170] FairPrimaryGenerator: (Event 1) 1 primary tracks from vertex (0.000000, 0.000000, 0.000000 ) Event Time = 0.000000 (ns) Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 Add point for Detektor0 -I- FairStack: Filling MCTrack array... -I- FairStack: Number of primaries = 1 Total number of particles = 1 Number of tracks in output = 1 Track 0, mother : -1, Type 11, momentum (1.607, 0.5849, 4.699) GeV Ref 1, TutDet 0, Rutherford 0 -I- FairStack: Updating track indizes......stack and 1 collections updated. I dont know what that Add point for Detektor0 means. But i will check it out. Thanks a lot Cheers Raghav
HI, What you see is a print out coming from FairStack, usually each experiment modify this Stack according to there needs, the method AddPoint is called from detector classes, this is used to filter the stack. i.e: you can specify in the g3Config.C or g4Config.C the minimum number of points a secondary track should produce in a sensitive detector so that we keep it. It can be used also to see how many point a track produce in a certain detector(s) (depends on how you implement the Stack!) regards, Mohammad