Skip to topic | Skip to bottom
Home
ILC
ILC.Dumpeventr1.2 - 22 Sep 2009 - 10:14 - Main.iglesiastopic end

Start of topic | Skip to actions

2.a.ii. Dumpevent

La herramienta dumpevent muestra el contenido de un fichero en formato lcio, nos servimos de ella para comprobar que los ficheros que nos hemos descargado sólo contienen hasta la simulación del paso de las partículas a través del detector ILD.

En mi instalación, esta herramienta se encuentra en el subdirectorio: /ilcinstall/my_v01-04/lcio/v01-10-01/bin:

[iglesias@fpmac116 bin]$ dumpevent
 usage: dumpevent filename runNum evtNum
    or: dumpevent filename n
  where the first dumps the event with the specified run and event number
  and the second simply dumps the n-th event in the file
Pero puesto que ahora ya he definidos mis variables, puedo lanzarlo desde el directorio de trabajo: /ilcinstall/my_v01-04/.
[iglesias@fpmac116]$ ./dumpevent ../Samples/SinglePar_muon_Theta1-40_1-50GeV_0001.slcio 2
Por lo que para ver el contenido del fichero en formato lcio escribo:
SIOReader::getEventMap() recreating event map for direct access ...
 SIOReader::getEventMap() : done

============================================================================
        Event  : 1 - run:  0 - timestamp 0 - weight 1

============================================================================
 date:      01.01.1970  00:00:00.000000000
 detector : ILD_00
 event parameters:

collection name : ETDCollection
 parameters:

--------------- print out of SimTrackerHit collection ---------------

  flag:  0xb00
     LCIO::THBIT_BARREL : 0
     LCIO::THBIT_MOMENTUM : 0

 cellID[indices] | position (x,y,z) | dEdx | time  | PDG of MCParticle

    -----------------------------------------
       WARNING: CellIDDecoder - no CellIDEncoding parameter in collection !         -> using default : "byte0:8,byte1:8,byte2:8,byte3:8"
    ------------------------------------------
0: 1[byte0:1,byte1:0,byte2:0,byte3:0] | (370.141, 790.693, 2426) | 9.19724e-05 | 8.60581 | 13
1: 2[byte0:2,byte1:0,byte2:0,byte3:0] | (370.338, 791.39, 2428) | 8.59193e-05 |8.61291 | 13
2: 3[byte0:3,byte1:0,byte2:0,byte3:0] | (370.533, 792.088, 2430) | 7.71785e-05 | 8.62 | 13
3: 1[byte0:1,byte1:0,byte2:0,byte3:0] | (360.89, 759.687, 2426) | 0.00025424 | 8.78791 | 11

--------------------------------------------------------------------------------
Mostramos parte del contenido del suceso 2. Podemos comprobar que el detector es el ILD, que tenemos una colección de SimTrackerHit (es decir, impactos simulados de trazas) en el subdetector ETD, ofreciéndono información de su energía, el tiempo, su posición absoluta y de qué partícula se trata. El fichero completo nos muestra que únicamente tenemos SimTrackerHit, SimCalorimeterHit y MCParticle. Podemos encontrar una descripción detallada de estas clases en 1. Brevemente,
  • La colección MCParticle (que siempre existirá una única por suceso) contiene las partículas del Montecarlo truth que fueron generadas por el generador o que se añadieron (decay in flight) por el programa de simulación, Mokka].
  • La clase genérica (y por tanto virtual) SimCalorimeterHit almacena colecciones de impactos en los calorímetros a partir del programa de simulación. Cada subdetector creará una colección de este tipo, por ejemplo, el ECAL de las tapas nos creará una colección de impactos en sus calorímetros llamada EcalEndcapCollection.
  • La clase genérica SimTrackerHit almacena impactos de los subdetectores de trayectorias, por ejemplo el subdetector TPC, creará la colección de trazas simuladas TPCCollection.

Para este caso concreto del evento 2 de la muestra SinglePar_muon_Theta1-40_1-50GeV_0001.slcio , me aparece las siguientes colecciones para las clases SimTrackerHit, SimCalorimeterHit y MCParticle:

SimCalorimeterHit:

  • EcalEndcapCollection
  • EcalEndcapPreShowerCollection
  • HcalEndCapsCollection
  • MuonEndCapCollection

MCParticle:

  • MCParticle

SimTrackerHit:

  • ETDCollection
  • TPCCollection
  • VXDCollection

Pero si miramos en el resto de sucesos, encontraremos el resto de las colecciones para los diferentes detectores, por ejemplo SETCollection, SITCollection ... LumiCalCollection ... y otras. La informacion respecto al tipo de colecciones que corresponden a un suceso determinado puede verse en bash con:

dumpevent NombreFichero.slcio n|grep 'collection name'
En mi caso:
dumpevent ../Samples/SinglePar_muon_Theta1-40_1-50GeV_0001.slcio 2|grep 'collection name'

 collection name : ETDCollection
 collection name : EcalEndcapCollection
 collection name : EcalEndcapPreShowerCollection
 collection name : HcalEndCapsCollection
 collection name : MCParticle
 collection name : MuonEndCapCollection
 collection name : SITCollection
 collection name : TPCCollection
 collection name : VXDCollection
y tambien puede verse los parametros de cada coleccion:
dumpevent NombreFichero.slcio n|grep 'print out'

--------------- print out of SimCalorimeterHit collection ---------------
--------------- print out of SimCalorimeterHit collection ---------------
--------------- print out of SimCalorimeterHit collection ---------------
--------------- print out of SimCalorimeterHit collection ---------------
--------------- print out of SimCalorimeterHit collection ---------------
--------------- print out of MCParticle collection ---------------
--------------- print out of SimCalorimeterHit collection ---------------
--------------- print out of SimTrackerHit collection ---------------
--------------- print out of SimTrackerHit collection ---------------

Aqui por ejemplo, nos indica que solo hay particulas simuladas y no recontruidas, ya que no aparece ningun

Asi mismo, haciedo un loop puedo verlas las colecciones para todos los sucesos de una muetra (hasta 1000 eventos por muestra):

for i in `seq 1 1000`; do dumpevent NombreFichero.slcio $i|grep 'collection name'; done
NOTA: Muy importante: usar las comillas de la tecla de [, sino no hace el loop correctamente En mi caso:
for i in `seq 1 1000`; do dumpevent ../Samples/SinglePar_muon_Theta1-40_1-50GeV_0001.slcio $i|grep 'collection name'; done
añado echo "$i:” para que me muestre el numero de cada evento que me lee:
for i in `seq 1 1000`; do echo "$i :";dumpevent ../Samples/SinglePar_muon_Theta1-40_1-50GeV_0001.slcio $i |grep 'collection name' ; done

37 :
 collection name : ETDCollection
 collection name : EcalEndcapCollection
 collection name : EcalEndcapPreShowerCollection
 collection name : FTDCollection
 collection name : HcalEndCapsCollection
 collection name : MCParticle
 collection name : MuonEndCapCollection
 collection name : TPCCollection
 collection name : VXDCollection
38 :
 collection name : LHcalCollection
 collection name : LumiCalCollection
 collection name : MCParticle
 collection name : MuonEndCapCollection
39 :
 collection name : ETDCollection
 collection name : EcalEndcapCollection
 collection name : EcalEndcapPreShowerCollection
 collection name : HcalEndCapsCollection
 collection name : MCParticle
 collection name : MuonEndCapCollection
 collection name : TPCCollection
 collection name : VXDCollection
40 :
 collection name : ETDCollection
 collection name : EcalEndcapCollection
 collection name : EcalEndcapPreShowerCollection
 collection name : HcalEndCapsCollection
 collection name : MCParticle
 collection name : MuonEndCapCollection
 collection name : TPCCollection
 collection name : TPCSpacePointCollection

-- Main.iglesias - 02 Feb 2009
to top


You are here: ILC > Dumpevent

to top

Copyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this material Send feedback