Skip to content
Snippets Groups Projects
Commit b3b85c09 authored by Whitney Armstrong's avatar Whitney Armstrong
Browse files

new file: .gitignore

	modified:   README.md
	new file:   elements.xml
	deleted:    gem_tracker_disc.xml
	new file:   gps.mac
	new file:   materials.xml
	modified:   run_example
	modified:   scripts/example_digi.cxx
	modified:   scripts/example_hit_recon.cxx
parent e51dd955
Branches
No related tags found
No related merge requests found
*.root
NPdet Examples
==============
Tutorial Part 1
===============
* [Introduction](#introduction)
* [How to build a detector from scratch](#how-to-build-a-detector-from-scratch)
......
This diff is collapsed.
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<info name="beam_pipe" title="Beam pipe test"
author="Whitney Armstrong"
url="https://eicweb.phy.anl.gov/EIC/NPDet"
status="development"
version="">
<comment>EIC Beam Pipe</comment>
</info>
<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
</includes>
<define>
<constant name="world_side" value="10*m"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="10*world_side"/>
<constant name="tracker_region_rmax" value="2.0*m" />
<constant name="tracker_region_zmax" value="4.0*m" />
<constant name="CrossingAngle" value="0.020*rad"/>
<constant name="CentralBeamPipe_length" value="50.0*cm"/>
<constant name="CentralBeamPipe_thickness" value="0.1*mm"/>
<constant name="CentralBeamPipe_radius" value="3.5*cm"/>
<constant name="CentralBeamPipe_z" value="0.0*cm"/>
<constant name="UpStreamBeamPipe_length" value="150.0*cm"/>
<constant name="UpStreamBeamPipe_thickness" value="0.1*mm"/>
<constant name="UpStreamBeamPipe_radius" value="5*cm"/>
<constant name="UpStreamBeamPipe_z" value="-1.0*(CentralBeamPipe_length+UpStreamBeamPipe_length)/2.0"/>
<constant name="DownStreamBeamPipe_length" value="250.0*cm"/>
<constant name="DownStreamBeamPipe_thickness" value="0.1*mm"/>
<constant name="DownStreamBeamPipe_radius" value="5*cm"/>
<constant name="DownStreamBeamPipe_z" value="1.0*(CentralBeamPipe_length+DownStreamBeamPipe_length)/2.0"/>
<!--
<constant name="CentralBeamPipe_rmax" value="VertexBarrel_r1 - 0.2*cm"/>
<constant name="CentralBeamPipe_thickness" value="CentralBeamPipe_rmax * 0.02"/>
<constant name="CentralBeamPipe_rmin" value="CentralBeamPipe_rmax - CentralBeamPipe_thickness"/>
<constant name="BeamPipe_thickness" value="0.4*cm"/>
<constant name="BeamPipe_endThickness" value="0.1*cm"/>
<constant name="BeamPipe_zmax" value="LumiCal_zmin - 0.5*cm"/>
<constant name="BeamPipe_rmax" value="19.0*cm"/>
<constant name="BeamPipe_rmin" value="BeamPipe_rmax - BeamPipe_thickness"/>
<constant name="bp_cone_slope" value="(BeamPipe_rmax-CentralBeamPipe_rmax)/(tracking_region_zmax-CentralBeamPipe_zmax)"/>
<constant name="BeamPipe_zmin" value="CentralBeamPipe_zmax + (BeamPipe_thickness - CentralBeamPipe_thickness)/bp_cone_slope"/>
<constant name="BeamPipeLiner_thickness" value="0.0*cm"/>
<constant name="BeamCal_rmax" value="13.0*cm"/>
<constant name="BeamCal_zmin" value="ForwardMask_zmin + ForwardMask_thickness"/>
<constant name="IncomingBP_radius" value="0.25*cm"/>
<constant name="IncomingBP_thickness" value="0.05*cm"/>
<constant name="OutgoingBP_radius" value="tan(CrossingAngle/2/rad)*BeamCal_zmin"/>
<constant name="OutgoingBP_thickness" value="0.1*cm"/>
<constant name="BeamCal_crossingAngle" value="CrossingAngle"/>
<constant name="BeamCal_outgoing_r" value="OutgoingBP_radius + 0.05*cm"/>
<constant name="BeamCal_incoming_r" value="IncomingBP_radius + 0.05*cm"/>
-->
<constant name="Place_Center" value="0*cm"/>
<constant name="ForwardTrackerPlane_z0" value="400*cm"/>
</define>
<limits>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm" />
</limitset>
<limitset name="GemTrackerDiscRegionLimitSet">
<limit name="step_length_max" particles="*" value="5.0" unit="mm" />
<limit name="track_length_max" particles="*" value="5.0" unit="mm" />
<limit name="time_max" particles="*" value="5.0" unit="ns" />
<limit name="ekin_min" particles="*" value="0.01" unit="MeV" />
<limit name="range_min" particles="*" value="5.0" unit="mm" />
</limitset>
</limits>
<regions>
<region name="GemTrackerDiscRegion" eunit="MeV" lunit="mm" cut="0.001" threshold="0.001">
<limitsetref name="GemTrackerDiscRegionLimitSet"/>
</region>
</regions>
<limits>
<limitset name="Tracker_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm" />
</limitset>
</limits>
<comment>Common Generic visualization attributes</comment>
<display>
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
<vis name="GreenVis" alpha="0.5" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedVis" alpha="0.5" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="BlueVis" alpha="0.5" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="OrangeVis" alpha="0.5" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="0.5" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
</display>
<detectors>
<!--
<detector id="1" name="GEMTracker_PVDIS" vis="RedVis" type="GEMTrackerDiscSOLID" readout="GEMTrackerHits" >
<layer id="1" z="157.5*cm" inner_r="48.0*cm" outer_r="122.0*cm" phi0_offset=" 0.5*deg" />
<layer id="2" z="185.5*cm" inner_r="59.0*cm" outer_r="143.0*cm" phi0_offset=" 0.0*deg" />
<layer id="3" z="190 *cm" inner_r="65.0*cm" outer_r="143.0*cm" phi0_offset=" 0.0*deg" />
<layer id="4" z="306 *cm" inner_r="105.0*cm" outer_r="230.0*cm" phi0_offset="-0.5*deg" />
<layer id="5" z="315 *cm" inner_r="109.0*cm" outer_r="237.0*cm" phi0_offset="-0.5*deg" />
</detector>
-->
<detector id="2" name="GEMTracker_SIDIS" vis="RedVis" type="GEMTrackerDisc" readout="GEMTrackerHits" >
<layer id="1" z="-175 *cm" inner_r="36*cm" outer_r="87.0*cm" phi0_offset="0.0*deg" />
<layer id="2" z="-150 *cm" inner_r="21*cm" outer_r="98.0*cm" phi0_offset="0.0*deg" />
<layer id="3" z="-119 *cm" inner_r="25*cm" outer_r="112.0*cm" phi0_offset="0.0*deg" />
<layer id="4" z="-68 *cm" inner_r="32*cm" outer_r="135.0*cm" phi0_offset="0.0*deg" />
<layer id="5" z="-5 *cm" inner_r="42*cm" outer_r="100.0*cm" phi0_offset="0.0*deg" />
<layer id="6" z="5 *cm" inner_r="42*cm" outer_r="100.0*cm" phi0_offset="0.0*deg" />
<layer id="7" z="30 *cm" inner_r="42*cm" outer_r="123.0*cm" phi0_offset="0.0*deg" />
<layer id="8" z="60 *cm" inner_r="42*cm" outer_r="123.0*cm" phi0_offset="0.0*deg" />
<layer id="9" z="92 *cm" inner_r="55*cm" outer_r="123.0*cm" phi0_offset="0.0*deg" />
</detector>
<detector id="102" name="GEMTracker_assembly" type="DD4hep_SubdetectorAssembly" vis="BlueVis">
<composite name="GEMTracker_SIDIS"/>
</detector>
</detectors>
<readouts>
<readout name="TPCollection">
<segmentation type="CartesianGridXY" grid_size_x="10.0*cm" grid_size_y="10.0*cm" />
<id>system:5,layer:9,module:8,x:32:-16,y:-16</id>
</readout>
<!--
<readout name="SiVertexBarrelHits">
<id>system:8,barrel:3,layer:4,module:14,sensor:2,side:32:-2,strip:24</id>
</readout>
-->
<readout name="GEMTrackerHits">
<segmentation type="PolarGridRPhi" grid_size_phi="1.0*degree" grid_size_r="1.0*cm"/>
<id>system:5,barrel:3,layer:4,module:5,r:32:-16,phi:-16</id>
</readout>
<!--
<readout name="SiTrackerEndcapHits">
<id>system:8,barrel:3,layer:4,module:14,sensor:2,side:32:-2,strip:24</id>
</readout>
<readout name="SiVertexEndcapHits">
<id>system:8,barrel:3,layer:4,wedge:6,module:6,sensor:1,side:32:-2,strip:26</id>
</readout>
-->
</readouts>
<plugins>
<plugin name="DD4hep_GenericSurfaceInstallerPlugin">
<argument value="GEMTracker_SIDIS"/>
<argument value="dimension=2"/>
<argument value="u_x=-1."/>
<argument value="v_y=-1."/>
<argument value="n_z=1."/>
</plugin>
<plugin name="InstallSurfaceManager"/>
</plugins>
<fields>
<field name="GlobalSolenoid" type="solenoid"
inner_field="10.0*tesla"
outer_field="-0.5*tesla"
zmax="4.0*m"
outer_radius="2.0*m">
</field>
</fields>
</lccdd>
gps.mac 0 → 100644
/control/verbose 2
/run/initialize
/gps/verbose 2
/gps/particle e-
/gps/number 1
/gps/ene/type Gauss
/gps/ene/mono 9.0 GeV
/gps/ene/sigma 3.0 GeV
/gps/pos/type Volume
/gps/pos/shape Cylinder
/gps/pos/centre 0.0 0.0 0.0 cm
/gps/pos/radius 0.01 cm
/gps/pos/halfz 0.01 cm
/gps/position 0 0 -6.0 m
/gps/direction 0 0.1 1.0
#/gps/ang/type iso
/run/beamOn 100
<?xml version="1.0" encoding="UTF-8"?>
<materials>
<!--
Air by weight from
http://www.engineeringtoolbox.com/air-composition-24_212.html
-->
<material name="Air">
<D type="density" unit="g/cm3" value="0.0012"/>
<fraction n="0.754" ref="N"/>
<fraction n="0.234" ref="O"/>
<fraction n="0.012" ref="Ar"/>
</material>
<material name="air">
<D type="density" unit="g/cm3" value="0.0012"/>
<fraction n="0.754" ref="N"/>
<fraction n="0.234" ref="O"/>
<fraction n="0.012" ref="Ar"/>
</material>
<!-- We model vakuum just as very thin air -->
<material name="Vacuum">
<D type="density" unit="g/cm3" value="0.0000000001" />
<fraction n="0.754" ref="N"/>
<fraction n="0.234" ref="O"/>
<fraction n="0.012" ref="Ar"/>
</material>
<material name="Epoxy">
<D type="density" value="1.3" unit="g/cm3"/>
<composite n="44" ref="H"/>
<composite n="15" ref="C"/>
<composite n="7" ref="O"/>
</material>
<material name="Quartz">
<D type="density" value="2.2" unit="g/cm3"/>
<composite n="1" ref="Si"/>
<composite n="2" ref="O"/>
</material>
<material name="G10">
<D type="density" value="1.7" unit="g/cm3"/>
<fraction n="0.08" ref="Cl"/>
<fraction n="0.773" ref="Quartz"/>
<fraction n="0.147" ref="Epoxy"/>
</material>
<material name="Polystyrene">
<D value="1.032" unit="g/cm3"/>
<composite n="19" ref="C"/>
<composite n="21" ref="H"/>
</material>
<material name="Steel235">
<D value="7.85" unit="g/cm3"/>
<fraction n="0.998" ref="Fe"/>
<fraction n=".002" ref="C"/>
</material>
<material name="SiliconOxide">
<D type="density" value="2.65" unit="g/cm3"/>
<composite n="1" ref="Si"/>
<composite n="2" ref="O"/>
</material>
<material name="BoronOxide">
<D type="density" value="2.46" unit="g/cm3"/>
<composite n="2" ref="B"/>
<composite n="3" ref="O"/>
</material>
<material name="SodiumOxide">
<D type="density" value="2.65" unit="g/cm3"/>
<composite n="2" ref="Na"/>
<composite n="1" ref="O"/>
</material>
<material name="AluminumOxide">
<D type="density" value="3.89" unit="g/cm3"/>
<composite n="2" ref="Al"/>
<composite n="3" ref="O"/>
</material>
<material name="PyrexGlass">
<D type="density" value="2.23" unit="g/cm3"/>
<fraction n="0.806" ref="SiliconOxide"/>
<fraction n="0.130" ref="BoronOxide"/>
<fraction n="0.040" ref="SodiumOxide"/>
<fraction n="0.023" ref="AluminumOxide"/>
</material>
<material name="CarbonFiber">
<D type="density" value="1.5" unit="g/cm3"/>
<fraction n="0.65" ref="C"/>
<fraction n="0.35" ref="Epoxy"/>
</material>
<material name="CarbonFiber_50D">
<D type="density" value="0.75" unit="g/cm3"/>
<fraction n="0.65" ref="C"/>
<fraction n="0.35" ref="Epoxy"/>
</material>
<material name="Rohacell31">
<D type="density" value="0.032" unit="g/cm3"/>
<composite n="9" ref="C"/>
<composite n="13" ref="H"/>
<composite n="2" ref="O"/>
<composite n="1" ref="N"/>
</material>
<material name="Rohacell31_50D">
<D type="density" value="0.016" unit="g/cm3"/>
<composite n="9" ref="C"/>
<composite n="13" ref="H"/>
<composite n="2" ref="O"/>
<composite n="1" ref="N"/>
</material>
<material name="RPCGasDefault" state="gas">
<D type="density" value="0.0037" unit="g/cm3"/>
<composite n="209" ref="C"/>
<composite n="239" ref="H"/>
<composite n="381" ref="F"/>
</material>
<material name="PolystyreneFoam">
<D type="density" value="0.0056" unit="g/cm3"/>
<fraction n="1.0" ref="Polystyrene"/>
</material>
<material name="Kapton">
<D value="1.43" unit="g/cm3" />
<composite n="22" ref="C"/>
<composite n="10" ref="H" />
<composite n="2" ref="N" />
<composite n="5" ref="O" />
</material>
<material name="PEEK">
<D value="1.37" unit="g/cm3" />
<composite n="19" ref="C"/>
<composite n="12" ref="H" />
<composite n="3" ref="O" />
</material>
</materials>
#!/bin/bash
#rm -f forward_rich.slcio
#rm -f forward_rich.root
ddsim --runType run --enableG4GPS \
--macroFile gps.mac \
--compactFile ./gem_tracker_disc.xml \
--outputFile test_tracker_disc.root || exit
--compactFile ./gem_tracker.xml \
--outputFile gem_tracker_sim.root || exit
#root -b -q scripts/example_cell_size.cxx+
#
##anajob example1_ddsim_out.slcio | tail -n 30 > collections.txt
##rm outputfile.slcio
##Marlin steering_files/basicsteering.xml
##anajob outputfile.slcio | tail -n 30 > collections2.txt
root -b -q scripts/example_digi.cxx+ || exit
#example_hit_position.cxx
root -b -q scripts/example_hit_recon.cxx+ || exit
#example_seg_size.cxx
root scripts/example_tracking.cxx+ || exit
#mag_field.cxx
###anajob example1_ddsim_out.slcio | tail -n 30 > collections.txt
###rm outputfile.slcio
###Marlin steering_files/basicsteering.xml
###anajob outputfile.slcio | tail -n 30 > collections2.txt
#
##root -b -q scripts/example_cell_size.cxx+
#root -b -q scripts/example_digi.cxx+ || exit
##example_hit_position.cxx
#root -b -q scripts/example_hit_recon.cxx+ || exit
##example_seg_size.cxx
#root scripts/example_tracking.cxx+ || exit
##mag_field.cxx
......@@ -12,24 +12,13 @@ R__LOAD_LIBRARY(libDDG4IO.so)
#include "lcio2/MCParticleData.h"
#include "lcio2/ReconstructedParticleData.h"
//#include "Math/Vector3D.h"
//#include "Math/Vector4D.h"
//#include "Math/VectorUtil.h"
#include "TCanvas.h"
//#include "TLegend.h"
//#include "TMath.h"
//#include "TRandom3.h"
//#include "TFile.h"
//#include "TH1F.h"
//#include "TH1D.h"
//#include "TTree.h"
#include "TChain.h"
//#include "TF1.h"
#include <random>
#include "lcio2/TrackerRawDataData.h"
#include "lcio2/TrackerRawData.h"
void example_digi(const char* fname = "test_tracker_disc.root"){
void example_digi(const char* fname = "gem_tracker_sim.root"){
ROOT::EnableImplicitMT(); // Tell ROOT you want to go parallel
using namespace lcio2;
......@@ -41,17 +30,15 @@ void example_digi(const char* fname = "test_tracker_disc.root"){
TChain* t = new TChain("EVENT");
t->Add(fname);
ROOT::RDataFrame d0(*t);//, {"GEMTrackerHintits","MCParticles"});
ROOT::RDataFrame d0(*t);
//std::cout << t->GetBranch("GEMTrackerHits")->GetClassName() << std::endl;
//std::vector<dd4hep::sim::Geant4Tracker::Hit*>
// -------------------------
// Get the DD4hep instance
// Load the compact XML file
// Initialize the position converter tool
dd4hep::Detector& detector = dd4hep::Detector::getInstance();
detector.fromCompact("gem_tracker_disc.xml");
detector.fromCompact("gem_tracker.xml");
dd4hep::rec::CellIDPositionConverter cellid_converter(detector);
//// -------------------------
......@@ -112,9 +99,7 @@ void example_digi(const char* fname = "test_tracker_disc.root"){
auto h0 = d1.Histo1D(TH1D("h0", "nhits; ", 20, 0,20), "nhits");
TCanvas* c = new TCanvas();
d1.Snapshot("digitized_EVENT","test_gem_tracker_digi.root");
d1.Snapshot("digitized_EVENT","gem_tracker_digi.root");
h0->DrawClone();
}
R__LOAD_LIBRARY(libDDG4IO.so)
#include <random>
#include "Math/GenVector/VectorUtil.h"
#include "Math/Vector3D.h"
#include "Math/Vector4D.h"
#include "ROOT/RDataFrame.hxx"
#include "TCanvas.h"
#include "TMath.h"
#include "TRandom3.h"
#include "TChain.h"
#include "TF1.h"
#include "TFile.h"
#include "TH1F.h"
#include "TH1D.h"
#include "TChain.h"
#include "TH1F.h"
#include "TMath.h"
#include "TRandom3.h"
#include "TTree.h"
#include "TF1.h"
//#include "lcio2/MCParticleData.h"
//#include "lcio2/ReconstructedParticleData.h"
#include "ROOT/RDataFrame.hxx"
#include <random>
#include "Math/GenVector/VectorUtil.h"
// DD4hep
// -----
// In .rootlogon.C
// gSystem->Load("libDDG4IO");
// gInterpreter->AddIncludePath("/opt/software/local/include");
#include "DD4hep/Detector.h"
#include "DDG4/Geant4Data.h"
#include "DDRec/CellIDPositionConverter.h"
#include "DDRec/SurfaceManager.h"
#include "DDRec/Surface.h"
#include "DDRec/SurfaceManager.h"
#include "lcio2/TrackerRawDataData.h"
#include "lcio2/TrackerRawData.h"
#include "lcio2/TrackerHit.h"
#include "lcio2/TrackerHitData.h"
#include "lcio2/TrackerRawData.h"
#include "lcio2/TrackerRawDataData.h"
void example_hit_recon(const char* fname = "test_gem_tracker_digi.root"){
void example_hit_recon(const char* fname = "gem_tracker_digi.root"){
ROOT::EnableImplicitMT(); // Tell ROOT you want to go parallel
using namespace lcio2;
......@@ -44,14 +37,12 @@ void example_hit_recon(const char* fname = "test_gem_tracker_digi.root"){
std::random_device rd;
std::mt19937 gen(rd());
TChain* t = new TChain("digitized_EVENT");
t->Add(fname);
ROOT::RDataFrame d0(*t);//, {"GEMTrackerHits","RawTrackerHits"});
ROOT::RDataFrame d0(*t);
std::cout << t->GetBranch("GEMTrackerHits")->GetClassName() << std::endl;
//std::vector<dd4hep::sim::Geant4Tracker::Hit*>
auto nhits = [] (const std::vector<dd4hep::sim::Geant4Tracker::Hit*>& hits){ return hits.size(); };
......@@ -94,7 +85,7 @@ void example_hit_recon(const char* fname = "test_gem_tracker_digi.root"){
//TCanvas* c = new TCanvas();
//h0->DrawClone();
d1.Snapshot("recon_EVENT","test_gem_tracker_recon.root");
d1.Snapshot("recon_EVENT","gem_tracker_recon.root");
}
......@@ -28,39 +28,28 @@ R__LOAD_LIBRARY(libgenfit2)
#include <TVector3.h>
#include <vector>
#include "TDatabasePDG.h"
#include <TMath.h>
#include "Math/GenVector/VectorUtil.h"
#include "Math/Vector3D.h"
#include "Math/Vector4D.h"
#include "ROOT/RDataFrame.hxx"
#include "TCanvas.h"
#include "TChain.h"
#include "TDatabasePDG.h"
#include "TEveGeoNode.h"
#include "TF1.h"
#include "TFile.h"
#include "TH1D.h"
#include "TH1F.h"
#include "TLegend.h"
#include "TMath.h"
#include "TRandom3.h"
#include "TFile.h"
#include "TH1F.h"
#include "TH1D.h"
#include "TChain.h"
#include "TTree.h"
#include "TF1.h"
#include "TEveGeoNode.h"
//#include "lcio2/MCParticleData.h"
//#include "lcio2/ReconstructedParticleData.h"
#include "ROOT/RDataFrame.hxx"
#include <vector>
#include <tuple>
#include <random>
#include "Math/GenVector/VectorUtil.h"
#include <tuple>
#include <vector>
// DD4hep
// -----
// In .rootlogon.C
// gSystem->Load("libDDDetectors");
// gSystem->Load("libDDG4IO");
// gInterpreter->AddIncludePath("/opt/software/local/include");
#include "DD4hep/Detector.h"
#include "DDG4/Geant4Data.h"
#include "DDRec/CellIDPositionConverter.h"
......@@ -83,16 +72,11 @@ R__LOAD_LIBRARY(libgenfit2)
#pragma link off all functions;
#pragma link C++ nestedclass;
#pragma link C++ class std::vector<std::vector<ROOT::Math::XYZTVector>>+;
//#pragma link C++ class std::array<const lcio2::ReconstructedParticleData*,2>+;
//#pragma link C++ class std::vector<const lcio2::ReconstructedParticleData*>+;
//#pragma link C++ class std::tuple<double, std::vector<const lcio2::ReconstructedParticleData*>, std::vector<const lcio2::ReconstructedParticleData*>>+;
//#pragma link C++ class std::vector<std::tuple<double, std::vector<const lcio2::ReconstructedParticleData*>, std::vector<const lcio2::ReconstructedParticleData*>>>+;
#endif
void example_tracking(const char* fname = "gem_tracker_recon.root"){
void example_tracking(const char* fname = "test_gem_tracker_recon.root"){
//ROOT::EnableImplicitMT(1);
ROOT::EnableImplicitMT(1);
using namespace ROOT::Math;
using namespace genfind;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment