<<O>>  Difference Topic InstalacionEnMarlinReco (r1.2 - 06 Oct 2009 - Main.iglesias)

META TOPICPARENT WebHome
Instalacion en Marlin Reco
Changed:
<
<
Lo unico cambiado fuera de MarlinReco? es que hay que añadir la dependencia de ROOT de MarlinReco? in the CMakeLists?.txt:
SET( ROOT_HOME "/path/to/root"
FIND_PACKAGE( ROOT )
INCLUDE_DIRECTORIES( ROOT_INCLUDE_DIRS ) LINK_LIBRARIES( ROOT_LIBRARIES )

Para compilar vas a MarlinReco?/build y ejecutas:

 cmake -C /mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/ILCSoft.cmake ..
 make install

Me da el siguiente mensaje de error:

CMake Error: The current CMakeCache.txt directory
/mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/MarlinReco/v00-10-04/CMakeCache.txt is different than the directory
/home/ilc/ilcsoft/v01-04/MarlinReco/v00-10-04 where CMackeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt

Probe a editar el CMakeCache?.txt y substituir a mano los "/home/ilc/ilcsoft/v01-04/" por "/mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/", pero al hacer de nuevo el cmake, me daba el mismo error...

Para solucionar el problema, borre y me instale de nuevo MarlinReco? de la version V01-04 y luego añadi el paquete TrackingTools? y las fuentes de MyTracking? en la directory tree a mano, editando el fichero MarlinReco?/.../src/CMakeLists.txt para añadir las fuentes nuevas...(NOTA: Al borrar todo el directorio MarlinReco? se perdio también el TrackAnalisis? que había copiado, por lo que debo volverlo a instalarlo (ver apartado 3.b.ii.)

  • vuelvo a instalar el nuevo paquete TrackingTools?
>
>
  • Instalar el nuevo paquete TrackingTools?

    • copia el paquete TrackingTools? en MarlinReco?/ v00-10-04
    • añadir la dependencia de ROOT de MarlinReco? en MarlinReco?/ v00-10-04/CMakeLists.txt,

Added:
>
>
# project dependencies SET( ${PROJECT_NAME}_DEPENDS "Marlin MarlinUtil? GEAR LCIO CLHEP GSL CERNLIB ROOT"
<nop>

SET( ROOT_HOME "/path/to/root" FIND_PACKAGE( ROOT )
Changed:
<
<
INCLUDE_DIRECTORIES( ROOT_INCLUDE_DIRS ) LINK_LIBRARIES( ROOT_LIBRARIES )
>
>
INCLUDE_DIRECTORIES( ROOT_INCLUDE_DIRS ) ##LINK_LIBRARIES( ROOT_LIBRARIES )

Added:
>
>

    • añadir las fuentes a mano en MarlinReco?/.../src/CMakeLists.txt,
   "TrackingTools/TrackFitters"
Line: 101 to 85

Y me lo instala correctamente, pues al volver a generarlo todo el archivo CMakeCache?.txt lleva los directorios correspondientes a mi instalación y no da error.

Added:
>
>

NOTA: si hay errores y hay que borrar todo MarlinReco? y volver a copiar todo, se perdie también el TrackAnalisis? que había copiado, por lo que debo volverlo a instalarlo (ver apartado 3.b.ii.)


Fichero steering de ejemplo para lanzar Mytracking en Marlin:
 <<O>>  Difference Topic InstalacionEnMarlinReco (r1.1 - 02 Feb 2009 - Main.iglesias)
Line: 1 to 1
Added:
>
>
META TOPICPARENT WebHome
Instalacion en Marlin Reco

Lo unico cambiado fuera de MarlinReco? es que hay que añadir la dependencia de ROOT de MarlinReco? in the CMakeLists?.txt:

SET( ROOT_HOME "/path/to/root"
FIND_PACKAGE( ROOT )
INCLUDE_DIRECTORIES( ROOT_INCLUDE_DIRS ) LINK_LIBRARIES( ROOT_LIBRARIES )

Para compilar vas a MarlinReco?/build y ejecutas:

 cmake -C /mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/ILCSoft.cmake ..
 make install

Me da el siguiente mensaje de error:

CMake Error: The current CMakeCache.txt directory
/mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/MarlinReco/v00-10-04/CMakeCache.txt is different than the directory
/home/ilc/ilcsoft/v01-04/MarlinReco/v00-10-04 where CMackeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt

Probe a editar el CMakeCache?.txt y substituir a mano los "/home/ilc/ilcsoft/v01-04/" por "/mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/", pero al hacer de nuevo el cmake, me daba el mismo error...

Para solucionar el problema, borre y me instale de nuevo MarlinReco? de la version V01-04 y luego añadi el paquete TrackingTools? y las fuentes de MyTracking? en la directory tree a mano, editando el fichero MarlinReco?/.../src/CMakeLists.txt para añadir las fuentes nuevas...(NOTA: Al borrar todo el directorio MarlinReco? se perdio también el TrackAnalisis? que había copiado, por lo que debo volverlo a instalarlo (ver apartado 3.b.ii.)

  • vuelvo a instalar el nuevo paquete TrackingTools?
    • copia el paquete TrackingTools? en MarlinReco?/ v00-10-04
    • añadir la dependencia de ROOT de MarlinReco? en MarlinReco?/ v00-10-04/CMakeLists.txt,
SET( ROOT_HOME "/path/to/root"
FIND_PACKAGE( ROOT )
INCLUDE_DIRECTORIES( ROOT_INCLUDE_DIRS ) LINK_LIBRARIES( ROOT_LIBRARIES )
    • añadir las fuentes a mano en MarlinReco?/.../src/CMakeLists.txt,
   "TrackingTools/TrackFitters"
   "TrackingTools/TransientTrackingRecHit"
   "TrackingTools/MeasurementDet"
   "TrackingTools/Utilities"
   "TrackingTools/TrajectoryState"
   "TrackingTools/TrajectoryParametrization"
   "TrackingTools/Services"
   "TrackingTools/SeedGenerator"
   "TrackingTools/PatternTools"
   "TrackingTools/MaterialEffects"
   "TrackingTools/MagneticField"
   "TrackingTools/GeomPropagators"
   "TrackingTools/Geometry"
   "TrackingTools/DetLayers"
   "TrackingTools/DataFormats"
   "TrackingTools/AnalyticalJacobians"
   "TrackingTools/KalmanUpdators"

Y mas abajo en el mismo CMakeList?.txt añado tambien:

# TrackingTools/TrackFitters/# cxx sources
AUX_SOURCE_DIRECTORY( ../TrackingTools/TrackFitters/src TrackFitters_cxx_srcs )
SET_SOURCE_FILES_PROPERTIES( ${TrackFitters_cxx_srcs} PROPERTIES
    # require proper c++
    COMPILE_FLAGS "-Wall -ansi -pedantic" )
SET( TrackFitters_srcs ${TrackFitters_cxx_srcs} )

# TrackingTools/TransientTrackingRecHit# cxx sources
AUX_SOURCE_DIRECTORY( ../TrackingTools/TransientTrackingRecHit/src TransientTra$
SET_SOURCE_FILES_PROPERTIES( ${TransientTrackingRecHit_cxx_srcs} PROPERTIES
    # require proper c++
    COMPILE_FLAGS "-Wall -ansi -pedantic" )
SET( TransientTrackingRecHit_srcs ${TransientTrackingRecHit_cxx_srcs} )

# TrackingTools/MeasurementDet# cxx sources
AUX_SOURCE_DIRECTORY( ../TrackingTools/MeasurementDet/src MeasurementDet_cxx_sr$
SET_SOURCE_FILES_PROPERTIES( ${MeasurementDet_cxx_srcs} PROPERTIES
    # require proper c++
    COMPILE_FLAGS "-Wall -ansi -pedantic" )
SET( MeasurementDet_srcs ${MeasurementDet_cxx_srcs} )

# TrackingTools/Utilities# cxx sources
AUX_SOURCE_DIRECTORY( ../TrackingTools/Utilities/src Utilities_cxx_srcs )
SET_SOURCE_FILES_PROPERTIES( ${Utilities_cxx_srcs} PROPERTIES
    # require proper c++
    COMPILE_FLAGS "-Wall -ansi -pedantic" )
SET( Utilities_srcs ${Utilities_cxx_srcs} )

# TrackingTools/Trajectory# cxx sources
AUX_SOURCE_DIRECTORY( ../TrackingTools/TrajectoryState/src TrajectoryState_cxx_$
SET_SOURCE_FILES_PROPERTIES( ${TrajectoryState_cxx_srcs} PROPERTIES
    # require proper c++
    COMPILE_FLAGS "-Wall -ansi -pedantic" )
SET( TrajectoryState_srcs ${TrajectoryState_cxx_srcs} )

    • Ir a MarlinReco??/..tu version../build y ejecutar:
   cmake -C /mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/my_v01-04/ILCSoft.cmake ..
   make install

Y me lo instala correctamente, pues al volver a generarlo todo el archivo CMakeCache?.txt lleva los directorios correspondientes a mi instalación y no da error.

Fichero steering de ejemplo para lanzar Mytracking en Marlin:



<!--##########################################-->
<!--#                                        #-->
<!--#     Example steering file for marlin   #-->
<!--#     Tracking in the Silicon Detectors  #-->
<!--#     and full LDC Tracking              #-->
<!--#     Activated processors :             #-->
<!--#     o MaterialDB                       #-->
<!--#     o FTDDigiProcessor                 #-->
<!--#     o VTXDigiProcessor                 #-->
<!--#     o TPCDigiProcessor                 #-->
<!--#     o SiliconTracking                  #-->
<!--#     o LEPTrackingProcessor             #-->
<!--#     o FullLDCTracking                  #-->
<!--#     o LCIOOutputProcessor              #-->
<!--#                                        #-->
<!--#     A.Raspereza , April 23 2007        #-->
<!--##########################################-->


<marlin>
 <execute>
   <processor name="MyMaterialDB"/>
   <Xprocessor name="MyTPCDigiProcessor"/>
   <Xprocessor name="MyVTXDigiProcessor"/>
   <Xprocessor name="MyFTDDigiProcessor"/>
 <ignore>  <processor name="MyLEPTrackingProcessor"/> </ignore>
 <ignore>  <processor name="MySiliconTracking"/> </ignore>
   <processor name="MyMyTracking"/>
   <Xprocessor name="MyFullLDCTracking"/>
   <Xprocessor name="MyLCIOOutputProcessor"/>
 </execute>
<global>
  <parameter name="LCIOInputFiles">  /home/ilc/lcio_data/single_muon/REC01-04_pre002_muon_Theta1-179_100GeV_ILD_00_LC
P_SinglePar_0001.000.slcio /home/ilc/lcio_data/single_muon/REC01-04_pre002_muon_Theta1-179_100GeV_ILD_00_LCP_SinglePa
r_0002.000.slcio </parameter>
  <parameter name="GearXMLFile">  /home/ilc/ilcsoft/v01-04/StandardConfig/v00-06-00/mc2008/gear_ild_00.xml </paramete
r>
  <parameter name="MaxRecordNumber" value="201000000000000" />  
  <parameter name="SupressCheck" value="false" />  
  <parameter name="BField"> 3.5 </parameter>
 </global>

 <processor name="MyFullLDCTracking" type="FullLDCTracking">
 <!--Perform Full Tracking in LDC detector-->
  <parameter name="AngleCutForMerging" type="float"> 0.2 </parameter>
  <parameter name="RefitTPCTracks" type="int"> 0 </parameter>
  <parameter name="StoreRefittedTPCTracks" type="int"> 0 </parameter>
  <parameter name="UseExtraPoint" type="int"> 0 </parameter>
  <parameter name="OptFit" type="int"> 1 </parameter>
  <parameter name="ResolutionRPhi_VTX" type="float"> 0.004 </parameter>
  <parameter name="ResolutionZ_VTX" type="float"> 0.004 </parameter>
  <parameter name="ResolutionRPhi_FTD" type="float"> 0.007 </parameter>
  <parameter name="ResolutionZ_FTD" type="float"> 0.1 </parameter>
  <parameter name="ResolutionRPhi_SIT" type="float"> 0.007 </parameter>
  <parameter name="ResolutionZ_SIT" type="float"> 0.01 </parameter>
  <parameter name="ForceMerging" type="int"> 1 </parameter>
 </processor>

 <processor name="MyLEPTrackingProcessor" type="LEPTrackingProcessor">
 <!--Produces Track collection from TPC TrackerHit collections using LEP tracking algorithms-->
  <!--Name of the TPC Track MC Relation collection-->
  <parameter name="MCTrackRelCollectionName" type="string">MCTracksRel </parameter>
  <!--Name of the TPC Track collection-->
  <parameter name="TPCTrackCollectionName" type="string">TPCTracks </parameter>
  <!--Name of the TPC TrackerHit collection-->
  <parameter name="TPCTrackerHitCollectionName" type="string">TPCTrackerHits </parameter>
  <!--Name of the VTX TrackerHit collection-->
  <parameter name="VTXTrackerHitCollectionName" type="string">VTXTrackerHits </parameter>
</processor>

 <processor name="MyTPCDigiProcessor" type="TPCDigiProcessor">
 <!--Produces TPC TrackerHit collection from SimTrackerHit collection, smeared in RPhi and Z-->
  <!--Name of the SimTrackerHit collection-->
  <parameter name="CollectionName" type="string">STpc01_TPC </parameter>
 </processor>

 <processor name="MyMaterialDB" type="MaterialDB">
 <!-- Material Database builder-->
 </processor>

 <processor name="MyVTXDigiProcessor" type="VTXDigiProcessor">
 <!-- VTX Digitization-->
  <parameter name="PointResolutionRPhi_VTX" type="float">0.004 </parameter>
  <parameter name="PointResolutionZ_VTX" type="float">0.004 </parameter>
  <parameter name="PointResolutionRPhi_SIT" type="float">0.01 </parameter>
  <parameter name="PointResolutionZ_SIT" type="float">0.01 </parameter>
  <parameter name="VTXCollectionName" type="string">vxd00_VXD </parameter> 
  <parameter name="SITCollectionName" type="string">sit00_SIT </parameter> 
 </processor>

 <processor name="MyFTDDigiProcessor" type="FTDDigiProcessor">
 <!-- FTD Digitization-->
  <parameter name="CollectionName" type="string"> ftd01_FTD</parameter>
  <parameter name="PointResolution" type="float">0.010 </parameter>
 </processor>

 <processor name="MySiliconTracking" type="SiliconTracking">
 <!--Vertex Tracking-->
  <parameter name="Chi2WRphiTriplet" type="float"> 1</parameter>
  <parameter name="Chi2WRphiQuartet" type="float"> 1</parameter>
  <parameter name="Chi2WRphiSeptet" type="float"> 1</parameter>
  <parameter name="Chi2WZTriplet" type="float"> 2</parameter>
  <parameter name="Chi2WZQuartet" type="float"> 2</parameter>
  <parameter name="Chi2WZSeptet" type="float"> 2 </parameter>
  <parameter name="Chi2FitCut" type="float"> 100.0 </parameter>
  <parameter name="Chi2PrefitCut" type="float"> 1e+10 </parameter>
  <parameter name="MaterialFTD13" type="float"> 0.001 </parameter>
  <parameter name="MaterialFTD46" type="float"> 0.01 </parameter>
  <parameter name="ResolutionFTDR13" type="float"> 0.001 </parameter>
  <parameter name="ResolutionFTDR46" type="float"> 0.1 </parameter>
  <parameter name="ResolutionRPhiVTX" type="float"> 0.004</parameter>
  <parameter name="ResolutionZVTX" type="float"> 0.004</parameter>
  <parameter name="ResolutionRPhiFTD" type="float"> 0.01</parameter>
  <parameter name="ResolutionZFTD" type="float"> 0.1</parameter>
  <parameter name="ResolutionRPhiSIT" type="float"> 0.01</parameter>
  <parameter name="ResolutionZSIT" type="float"> 0.01</parameter>
  <parameter name="NDivisionsInPhi" type="int"> 100 </parameter>
  <parameter name="NDivisionsInPhiFTD" type="int"> 20 </parameter>
  <parameter name="NDivisionsInTheta" type="int"> 100 </parameter>
  <parameter name="LayerCombinations" type="IntVec">  6 4 3  6 4 2  6 3 2  5 4 3  5 4 2  5 3 2  4 3 2  4 3 1  4 2 1  
3 2 1 </parameter>
  <parameter name="LayerCombinationsFTD" type="IntVec"> 6 5 4  5 4 3  5 4 2  5 4 1  5 3 2  5 3 1  5 2 1  4 3 2  4 3 1
  4 3 0  4 2 1  4 2 0  4 1 0  3 2 1  3 2 0  3 1 0  2 1 0</parameter>  
  <parameter name="MinimalHits" type="int"> 4 </parameter>
  <parameter name="FastAttachment" type="int"> 0 </parameter>
  <parameter name="MinDistCutAttach" type="float"> 2 </parameter>
  <parameter name="PhiCutForMerging" type="float"> 0.06 </parameter>
  <parameter name="TanLambdaCutForMerging" type="float"> 0.06 </parameter>
  <parameter name="AngleCutForMerging" type="float"> 0.1 </parameter>
  <parameter name="SimpleHelixFit" type="int"> 1 </parameter>
  <parameter name="UseSIT" type="int"> 1 </parameter>
 </processor>

<processor name="MyMyTracking" type="MyTracking">
 <!--Vertex Tracking-->
  <parameter name="Chi2FitCut" type="float"> 100.0 </parameter>
  <parameter name="ResolutionRPhiVTX" type="float"> 0.004</parameter>
  <parameter name="ResolutionZVTX" type="float"> 0.004</parameter>
  <parameter name="ResolutionRPhiFTD" type="float"> 0.01</parameter>
  <parameter name="ResolutionZFTD" type="float"> 0.1</parameter>
  <parameter name="ResolutionRPhiSIT" type="float"> 0.01</parameter>
  <parameter name="ResolutionZSIT" type="float"> 0.01</parameter>
  <parameter name="MinimalHits" type="int"> 3 </parameter>
  <parameter name="MinDistCutAttach" type="float"> 2 </parameter>
 </processor>

 <processor name="MyLCIOOutputProcessor" type="LCIOOutputProcessor">
 <!--Writes the current event to the specified LCIO outputfile. Needs to be the last ActiveProcessor.-->
  <!--drops the named collections from the event-->
  <parameter name="DropCollectionNames" type="StringVec">  </parameter>
  <!--drops all collections of the given type from the event-->
  <parameter name="DropCollectionTypes" type="StringVec">  </parameter>
  <!-- name of output file -->
  <parameter name="LCIOOutputFile" type="string">outputfile.slcio </parameter>
  <!--write mode for output file:  WRITE_APPEND or WRITE_NEW-->
  <parameter name="LCIOWriteMode" type="string">WRITE_NEW </parameter>
</processor>

</marlin>

  • Modifico el enlace a los archivos LCIO que utilizo como entradas de datos (muestras de muones en formato .slcio):
<parameter name="LCIOInputFiles">  /home/ilc/lcio_data/single_muon/REC01-04_pre002_muon_Theta1-179_100GeV_ILD_00_LC
P_SinglePar_0001.000.slcio /home/ilc/lcio_data/single_muon/REC01-04_pre002_muon_Theta1-179_100GeV_ILD_00_LCP_SinglePa
r_0002.000.slcio </parameter>
en su lugar mis samples de trazas de muones reconstruidas están en :
/mnt/data2/ilcsoft/ilcinstall_prueba/ilcinstall/Samples/reconstructed_tracks/muones/2_GeV/ REC01-04_pre002_muon_Theta1-179_2GeV_ILD_00_LCP_SinglePar_0001.000.slcio
NOTA: Si escribes dos nombres de ficheros LCIO seguidos (sin comas) Marlin lee los dos ficheros uno detras del otro.

  • El fichero gear me define la geometria del detector utilizada durante la simulacion de las muestras de muones. En este caso ha sido la ILD_OO y se encuentra en los .tar.gz de las muestras de muones, por lo que puedo crear un enlace suave que apunte a cualquiera de los GearOutput??.xml que me descarge en dichas muestras:
   ln -s /donde_se_encuentra_el_GEAROUTPUT/GearOutput.xml gear_ldc.xml
En mi caso:
       ln -s ../Samples/M-06-07-pre01_ppr002_muon_Theta1-40_1-50GeV_ILD_00_LCP_SinglePar_0010/GearOutput.xml gear_ldc.xml

-- Main.iglesias - 02 Feb 2009

Revision r1.1 - 02 Feb 2009 - 12:01 - Main.iglesias
Revision r1.2 - 06 Oct 2009 - 10:33 - Main.iglesias