This wiki has been deprecated and will be removed soon.

The new Advanced Computing and e-Science wiki is located at http://grid.ifca.es/wiki.

Please update your bookmarks.

ILC Análisis

De e-Ciencia

Tabla de contenidos

Entorno GRID

Información disponible en http://grid.desy.de//ilc
Suponiendo que tenemos un certificado válido (en caso contrario contactar con Rafael Marcos) hemos de registrarnos como usuarios de las VO ilc o calice: https://grid-voms.desy.de:8443/vo/ilc/vomrs o https://grid-boms.desy.de:8443/voms/calice, respectivamente.
Para empezar a trabajar, nos creamos un proxy: (todavía no disponible en egaes, ok en egeeui01)

voms-proxy-init -voms ilc

--working--

Descarga de datasets

La página http://ilcsoft.desy.de/portal/data_samples/ contiene enlaces a los diferentes datasets generados, simulados y reconstruidos. Las páginas contienen el nombre lógico del fichero (LFN) que podrá descargarse via GRID:

lcg-cp -v --vo ilc lfn:/nombre/logico/que/hemos/encontrado/en/las/paginas nombre_local_del_fichero

--working--

Descripción de Paquetes

MarlinReco

(Información extraida de http://ilcsoft.desy.de/MarlinReco/v00-05/doc/manual_html/manual.html)

El paquete de software MarlinReco contiene los diferentes procesadores útiles para la reconstrucción, por ejemplo, procesadores del visor de sucesos (CEDViewer y GenericViewer), procesadores de ajuste de trazas en las TPC(LEPTrackingProcessor), etc...

Primer Análisis

Datasets utilizados: Muones generados con Particle gun de 1 a 50 GeV y entre 1 y 40 grados en θ.
Localizacion de Archivos: lfn:/grid/ilc/mc-2008/simulated/ILD_00_test/singleparticle/M-06-07-pre01_ppr002_muon_Theta1-40_1-50GeV__ILD_SinglePar_00$i.tar.gz, i=1,..10
Localización de .slcio: lfn:/grid/ilc/mc-2008/simulated/ILD_00_test/singleparticle/M-06-07-pre01_ppr002_muon_Theta1-40_1-50GeV__ILD_SinglePar_00$i.slcio, i=1,..10
(Página de búsqueda de datasets)
Descargadas en egeeui01 ~/datasets_ILC

Tras la descompresión de los .tar.gz, encontramos 6 ficheros en cada subdirectorio creado:

err, out: ficheros de salida estándard y errores en la ejecución (via grid) de la simulación.
<nombre>.g4 : fichero que contiene los parámetros utilizados en Mokka (Geant4).
<nombre>.log: fichero que contiene los mensajes de salida de Mokka (Geant4).
<nombre>.steer: fichero de órdenes de Mokka.
GearOutput.xml: fichero de geometría (GEAR) del detector ILD_00 (en nuestro caso). Éste fichero podemos utilizarlo cuando lancemos Marlin.

Contenido de los datasets

Podemos mostrar el contenido de los datasets utilizando diferentes herramientas.


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.

duarte@egaes07 test]$ dumpevent ../datasets_ILC/SinglePar_muon_Theta1-40_1-50GeV_0001.slcio 2
 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 us 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.


Visor de sucesos

Para poder utilizar el visor de sucesos, es necesario cargar la librería del visor.

duarte@egaes07 test]$ export MARLIN_DLL=$MARLIN_DLL:libCEDViewer.so
Si ejecutamos Marlin -x, nos devolverá un ejemplo de fichero steer con todos los procesadores que tenemos cargados (tanto estática como dinámicamente); cada vez que carguemos un nuevo procesador, via la variable de entorno MARLIN_DLL, nos aparecerá en el fichero steer de ejemplo. Así, si lo ejecutamos después de incluir la librería del visor, veremos que disponemos de unos cuantos procesadores relacionados con el visor de sucesos: GenericViewer, CEDViewer, VertexViewer, DrawMCParticles, ... . Centrándonos en CEDViewer, activamos el procesador en la etiqueta execute del fichero steer, y elegimos que colecciones vamos a visualizar (las colecciones que podremos dibujar, podemos extraerlas mediante dumpevent
dumpevent filename n|grep 'collection name'


La siguientes figuras muestran un suceso donde hemos cargado todos las colecciones que hemos sido capaces de encontrar:

Jas3

También es posible observar el contenido de un fichero lcio mediante el Toolkit de análisis jas3. Ver [2] para información de uso (hasta este momento, todavía no he sido capaz de ver un suceso generado en el detector ILD, es posible que sea debido a que no está definido en el plugin de LCIO que he cargado).


La observación de los ficheros con cualquiera de los métodos descritos, nos confirma que nos hemos quedado en el proceso de simulación del paso de las partículas por el detector. Necesitamos digitalizar los impactos simulados, es decir, simular la respuesta de la electrónica de los subdetectores. Con esto, ya podemos tratar los datos como si fueran reales y proceder a la reconstrucción.


Digitalización

(Información extraida de [3])

El proceso de digitalización de los hits simulados se lleva a cabo con diversos procesadores de Marlin.

  • FTDDigiProcessor
  • TPCDigiProcessor
  • VTXDigiProcessor
  • MokkaCaloDigi
  • SimpleCaloDigi
  • ...

Los procesadores de digitalización de los calorímetros, recogen un SimCalorimeterHit y produce un CalorimeterHit. Los depósitos de energía de las capas activas de los calorímetros se convierten en energía físicas.
La digitalización de los impactos en las TPC se realiza mediante el smearing en las direcciones r − φ y en z, convirtiendo un SimTrackerHit en un TrackerHit.
Para la digitalización del sistema de tracking en la zona forward y el detector de vértices no disponemos más que de procesadores dummy que no aplican ningún smearing; lo único que hacen es convertir los impactos simulados en datos raw. (Creo que esta última afirmación está obsoleta, he comprobado que existen procesadores que aplican smearing)

Parámetros de los procesadores

FTDigiProcessor
Procesador descrito en [4]. Produce una colección de TrackerHit de los FTD (Forward Tracker Discs) a partir de una colección de SimTrackerHit de los FTD. Input: require colecciones de SimTrackerHits en FTD. Output: produce una colección de TrackerHits en FTD digitalizados.
Parametros:
  • CollectionName: El nombre de la colección de entrada SimTrackerHit de FTD (por defecto ftd01_VXD).
  • OutputCollectionName: El nombre de la colección de salida de TrackerHits (por defecto FTDTrackerHits).
  • PointResolution: La resolución del punto en (x,y) para los detectores planares FTD, en mm (valor por defecto 0.01).
  • RemoveDrays: Cuando activamos este flag (1), los impactos producidos por delta-electrones se borran de la colección de salida (valor por defecto 0).
  • MomentumCutForDRays: El corte superior del momento de los delta-electrones, en MeV (valor por defecto 10).
Input: FTDCollection
Output: FTDTrackerHits
Mantenemos el resto de parámetros por defecto. Activamos el módulo en el fichero steer y comprobamos que todo funciona perfectamente.
TPCDigiProcessor
Procesador descrito en [5]. El procesador depende de Circle.h del paquete MarlinUtil, así pues hay que cargar la librería
export MARLIN_DLL=$MARLIN_DLL:libMarlinUtil.so
Este digitalizador produce TrackerHit a partir de SimTrackerHit de las TPC, mediante un smearing gaussiano en la proyección del plano r − φ y z. Se identifican los impcatos dobles pero todavía no se añaden a la colección. Esto puede cambiar cuando se defina un criterio de separación. Las resoluciones están definidas en el fichero steering de 'GEAR. La resolución en r − φ se calcula de acuerdo a:
\sigma_{r-\phi}^2=\sigma_0^2+D^2 L_{drift}, siendo σ0 una constante, D el coeficiente de difusión y Ldrift es la longitud de deriva. Por el momento, la resolución en z se asume independiente de la longitud de deriva. Input: requiere colecciones de SimTrackerHit en las TPC. Output: devuelve una colección de TrackerHits en las TPC digializados.
Parametros:
  • CollectionName: El nombre de la colección de entrada SimTrackerHit de las TPC (por defecto TPCCollection).
  • RejectCellID0: Si rechazamos o no las SimTrackerHits con una identificación de celda igual a 0, Cell ID 0 (por defecto 1)
  • TPCTrackerHitsCol: El nombre de la colección de salida de TrackerHits (por defecto TPCTrackerHits).
  • ... (Faltan más...coeficientes de difusión, ...) <-- TO DO!!
Input: TPCCollection
Output: TPCTrackerHits
Hemos mantenido todos los parámetros con los valores por defecto. No ha habido ningún problema.
VTXDigiProcessor
Procesador descrito en [6]. El procesador produce TrackerHit a partir de SimTrackerHit del detector de vértices, del SET (External Si Tracker??) y del SIT (Intermediate Si Tracker). De acuerdo con la resolución especificada del punto, realiza un smearing gaussiano en la proyección del plano r − φ y z.
Parametros:
...coeficientes de difusión, ...) <-- TO DO!!
Input: SETCollection SITCollection VXDCollection
Output: SETTrackerHits SITTrackerHits VTXTrackerHits
Hemos mantenido todos los parámetros con los valores por defecto. No ha habido ningún problema.
Para la digitalización de impactos en el detector de vértices, disponemos de 2 procesadores extras: VTXDigitizer y VTXNoiseHits.
ETDDigiProcessor
Procesador descrito en [7]. TO DO!!
Input:ETDCollection
Otuput:ETDTrackerHit
MokkaCaloDigi
Procesador descrito en [8]. Produce colecciones de CalorimeterHit a partir de SimCalorimeterHit del ECAL y del HCAL (Inicialmente utilicé LDCCaloDigi pero es posible que el procesador sea específico para el detector LDC, así que utilizo el procesador MokkaCaloDigi).
Parametros:
  • TODO!!
Input: EcalBarrelCollection EcalEndcapCollection EcalEndCapRingCollection (ECAL)
HcalBarrelRegCollection HcalEndCapsCollection HcalEndcapRingsCollection LHcalCollection (HCAL).
-- Queda pendientes las colecciones PreShower (van aquí?)--
Output: ECAL HCAL
Nota que incluyo la digitalización del LHCAL (Low angle Hadronic Calorimeter) en ese módulo. En el procesado, aparece un warning del procesador
 [ VERBOSSE "MyMokkaCaloDigi"] WARNING ==> Distance = 1838.5 < 0.001

¿Qué significa?

SimpleLCalDigi
...blablabla...
Input: LumiCalCollection
Output: LCAL
SimpleMuonDigi
Procesador descrito en [9]. Procesador que digitaliza los detectores de muones; produce CalorimeterHit a partir de SimCalorimeterHit de los sistemas de detección de muones
Parámetros:
  • CalibrMuon: Coeficientes de calibración (por defecto, 31).
  • MUONCollection: Coleccion de SimCalorimeterHit de entrada.
  • MUONOutputCollection: Nombre de la colección de CalorimeterHit de salida.
  • MuonThreshold: Umbral de impacto de muones en GeV (por defecto 0).
  • RelationOutputCollection: ...
Input: MuonBarrelCollection MuonEndCapCollection MuonPlugCollection
Output: MUON


---Por el momento, no he encontrado un digitalizador del calorímetro del beam---

Reconstrucción

Paso a la reconstrucción de trazas, ver [10] (preferentemente me centraré en la zona forward). Recordamos que tenemos las siguientes colecciones de trazas digitalizadas:

  • FTDTrackerHits, trazas en los discos forward del tracker.
  • ETDTrackerHits, trazas en los discos del tracker externo?
  • TPCTrackerHits, trazas en la cámara de proyección temporal.
  • SETTrackerHits, trazas en el tracker externo de silicio.
  • SITTrackerHits, trazas en el tracker intermedio de silicio.
  • VTXTrackerHits, trazas en el detector de vértices.
Reconocimiento de patrones 
  • TPC, utilizando el procesador LEPTrackingProcessor ([11]), se realiza una búsqueda, del IP hacia afuera, de secuencias espacialmente contínuas de impactos compatible con la hipótesis de helicidad, y se ajusta dicha secuencia.
Input: TPCTrackerHits
Output: TPCTracks
Problemas: error de excepción de coma flotante --> ( Me olvidé incluir en el steering file el campo magnético: bajo global-> <parameter name="BField"> 3.5</parameter>)
  • Detectores de Silicio, el procesador SiliconTracking implementa reconocimiento de patrones combinado para todos los dispositivos traceadores de silicio (VTX, FTD, SIT ( y SET ?)). blabla
Input: FTDTrackerHits VTXTrackerHits SITTrackerHits
Output: SiTracks
Herramientas personales
Grid Administration
Users Support