Instalacion en Marlin Reco
- 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,
# project dependencies
SET( ${PROJECT_NAME}_DEPENDS "Marlin MarlinUtil GEAR LCIO CLHEP GSL CERNLIB ROOT"
y mas abajo:
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.
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:
<!--##########################################-->
<!--# #-->
<!--# 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