Skip to content
Snippets Groups Projects
Commit a116097f authored by Wouter Deconinck's avatar Wouter Deconinck
Browse files

Updated with newer eicd structures

parent 04151d5e
Branches
No related tags found
No related merge requests found
Pipeline #16910 passed
...@@ -15,33 +15,41 @@ Full simulation outputs are stored on one of several locations: ...@@ -15,33 +15,41 @@ Full simulation outputs are stored on one of several locations:
- S3: https://dtn01.sdcc.bnl.gov:9000/minio/eictest/ATHENA/ (web interface) - S3: https://dtn01.sdcc.bnl.gov:9000/minio/eictest/ATHENA/ (web interface)
- xrootd: root://sci-xrootd.jlab.org//osgpool/eic/ATHENA/ (no preview currently available) - xrootd: root://sci-xrootd.jlab.org//osgpool/eic/ATHENA/ (no preview currently available)
Data at these location is organized in a predicatable structure: Data at these location is organized in a predicatable structure (though not all directories may be present):
- `EVGEN/` contains all initial generated events (in hepmc3 or other format), - `EVGEN/` contains all initial generated events (in hepmc3 or other format),
- `FULL/` contains the raw full simulation output without any reconstruction, - `FULL/` contains the raw full simulation output without any reconstruction,
- `RECO/` contains the reconstruction output. - `RECO/` contains the reconstruction output.
Under the different top-level directories, you can find the different physics processes: Under the different top-level directories, you can find the different geometry versions (`EVGEN/` files are geometry-independent and are missing this level):
- `master/` always points to a relatively recent geometry in the ATHENA master branch,
- `acadia-v1.0-stable/` points to the first baseline geometry,
- etc...
Under the geometry versions, you will find the physics processes:
- `SINGLE/` contains single particle initial states, - `SINGLE/` contains single particle initial states,
- `DIS/` contains DIS events. - `DIS/` contains DIS events,
- `EXCLUSIVE/` contains EXCLUSIVE events,
- etc...
For details on accessing these locations, please refer to https://doc.athena-eic.org/en/latest/howto/. For details on accessing these locations, please refer to https://doc.athena-eic.org/en/latest/howto/.
For the purpose of this tutorial we will use the S3 interface since it does not rely on a mirroring process at Jefferson Lab. For the purpose of this tutorial we will use the S3 interface since it does not rely on a mirroring process at Jefferson Lab (which happens on a 4-hourly basis, at 8am EDT and so on).
## File structure of the full simulation reconstruction output ## File structure of the full simulation reconstruction output
Each reconstruction output file has essentially the same structure, defined by the EIC Data Model. This structure can be retrieved with `rootls`, e.g. Each reconstruction output file has essentially the same structure, defined by the EIC Data Model. This structure can be retrieved with `rootls`, e.g.
```console ```console
root -l s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root root -l s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/master/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root
``` ```
which produces the following output, two trees: which produces the following output, two trees:
```console ```console
events metadata events metadata
``` ```
You may encounter some (or many) warnings when you run this on a regular ROOT installation, but the ROOT files are built in such a way that they only use basic ("plain old data") types that ROOT can interpret without any helper classes. There are helper classes available inside the ATHENA container.
The `events` tree is of course what we are interested in. We can explore its top-level structure as follows. We first start a ROOT session: The `events` tree is of course what we are interested in. We can explore its top-level structure as follows. We first start a ROOT session:
```console ```console
root -l s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root root -l s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/master/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root
``` ```
and then list the top-level branches in the `events` tree: and then list the top-level branches in the `events` tree:
```console ```console
...@@ -51,191 +59,169 @@ This will display a large number of branches (and their size): ...@@ -51,191 +59,169 @@ This will display a large number of branches (and their size):
```console ```console
****************************************************************************** ******************************************************************************
*Tree :events : Events tree * *Tree :events : Events tree *
*Entries : 1000002 : Total = 34023140832 bytes File Size = 8907188433 * *Entries : 1002 : Total = 44146720 bytes File Size = 14534550 *
* : : Tree compression factor = 3.82 * * : : Tree compression factor = 3.01 *
****************************************************************************** ******************************************************************************
branch: mcparticles2 471802624 branch: mcparticles2 117074
branch: TrackerBarrelHits2 184032064 branch: TrackerBarrelHits2 352204
branch: ReconstructedParticles 2106267 branch: ReconstructedParticles 3763
branch: ReconstructedParticles#0 1447954 branch: EcalBarrelHitsSimpleDigi 132444
branch: ReconstructedParticles#1 1447954 branch: EcalBarrelHitsSimpleReco 162677
branch: ReconstructedParticles#2 1447954 branch: EcalEndcapNHitsDigi 53267
branch: ReconstructedParticles#3 1447954 branch: EcalEndcapNHitsReco 18557
branch: EcalBarrelHitsSimpleDigi 93024680 branch: EcalEndcapNProtoClusters 2247
branch: EcalBarrelHitsSimpleReco 142564938 branch: EcalEndcapNClusters 5389
branch: EcalBarrelHitsSimpleReco#0 6351262 branch: outputInfoCollection 2744
branch: EcalEndcapNHitsDigi 17873069 branch: EcalEndcapPHitsDigi 79927
branch: EcalEndcapNHitsReco 9750180 branch: EcalEndcapPHitsReco 57765
branch: EcalEndcapNHitsReco#0 2294175 branch: EcalEndcapPHitsRecoXY 53667
branch: EcalEndcapNClusterHits 3686937 branch: EcalEndcapPProtoClusters 2439
branch: EcalEndcapNClusterHits#0 1594591 branch: EcalEndcapPClusters 5508
branch: EcalEndcapNClusters 4128541 branch: EcalEndcapPClustersInfo 2833
branch: EcalEndcapNClusters#0 1444440 branch: EcalBarrelHitsDigi 130174
branch: EcalEndcapNClusters#1 1444440 branch: EcalBarrelHitsReco 297904
branch: EcalEndcapPHitsDigi 43298624 branch: EcalBarrelProtoClusters 3416
branch: EcalEndcapPHitsReco 51470328 branch: EcalBarrelLayers 8672
branch: EcalEndcapPHitsReco#0 3366251 branch: EcalBarrelClusters 9396
branch: EcalEndcapPHitsRecoXY 48939215 branch: EcalBarrelClustersInfo 5286
branch: EcalEndcapPHitsRecoXY#0 3383190 branch: EcalBarrelScFiHitsDigi 5345203
branch: EcalEndcapPClusterHits 6539903 branch: EcalBarrelScFiHitsReco 5554064
branch: EcalEndcapPClusterHits#0 1633199 branch: EcalBarrelScFiGridReco 1328000
branch: EcalEndcapPClusters 4494705 branch: EcalBarrelScFiProtoClusters 67285
branch: EcalEndcapPClusters#0 1444440 branch: EcalBarrelScFiClusters 36508
branch: EcalEndcapPClusters#1 1444440 branch: EcalBarrelScFiClustersInfo 19039
branch: EcalBarrelHitsDigi 68681726 branch: HcalBarrelHitsDigi 54355
branch: EcalBarrelHitsReco 441682325 branch: HcalBarrelHitsReco 44131
branch: EcalBarrelClusterHits 22471306 branch: HcalBarrelHitsRecoXY 36646
branch: EcalBarrelLayers 7351806 branch: HcalBarrelProtoClusters 1935
branch: EcalBarrelLayers#0 1441221 branch: HcalBarrelClusters 4251
branch: EcalBarrelClusters 7131448 branch: HcalBarrelClustersInfo 2269
branch: EcalBarrelClusters#0 1443270 branch: HcalEndcapNHitsDigi 11722
branch: EcalBarrelClusters#1 1443270 branch: HcalEndcapNHitsReco 13786
branch: EcalBarrelScFiHitsDigi 1636334484 branch: HcalEndcapNHitsRecoXY 11962
branch: EcalBarrelScFiHitsReco 3932534929 branch: HcalEndcapNProtoClusters 1903
branch: EcalBarrelScFiHitsReco#0 14507111 branch: HcalEndcapNClusters 4115
branch: EcalBarrelScFiGridReco 815861620 branch: HcalEndcapNClustersInfo 2215
branch: EcalBarrelScFiGridReco#0 9424066 branch: HcalEndcapPHitsDigi 7388
branch: EcalBarrelScFiClusterHits 396488274 branch: HcalEndcapPHitsReco 8158
branch: EcalBarrelScFiClusterHits#0 6066163 branch: HcalEndcapPHitsRecoXY 7660
branch: EcalBarrelScFiClusters 41044730 branch: HcalEndcapPProtoClusters 1903
branch: EcalBarrelScFiClusters#0 1447954 branch: HcalEndcapPClusters 4115
branch: EcalBarrelScFiClusters#1 1447954 branch: HcalEndcapPClustersInfo 2215
branch: HcalBarrelHitsDigi 13328585 branch: TrackerBarrelRawHits 51559
branch: HcalBarrelHitsReco 15260047 branch: TrackerEndcapRawHits 3664
branch: HcalBarrelHitsReco#0 2425669 branch: VertexBarrelRawHits 27933
branch: HcalBarrelHitsRecoXY 13434597 branch: VertexEndcapRawHits 2283
branch: HcalBarrelHitsRecoXY#0 2410125 branch: TrackerBarrelRecHits 148096
branch: HcalBarrelClusterHits 2352864 branch: TrackerEndcapRecHits 7560
branch: HcalBarrelClusterHits#0 1451387 branch: VertexBarrelRecHits 61902
branch: HcalBarrelClusters 2687875 branch: VertexEndcapRecHits 3984
branch: HcalBarrelClusters#0 1443270 branch: ReconstructedParticlesInitFromTruth 3277
branch: HcalBarrelClusters#1 1443270 branch: outputTrackParameters 3519
branch: HcalElectronEndcapHitsDigi 5707858 branch: DRICHHits2 8688
branch: HcalElectronEndcapHitsReco 8514858 branch: DRICHHitsDigi 1998
branch: HcalElectronEndcapHitsReco#0 1928251 branch: DRICHHitsReco 3525
branch: HcalElectronEndcapHitsRecoXY 7773148 branch: EcalEndcapNHits 3717
branch: HcalElectronEndcapHitsRecoXY#0 1922562 branch: EcalEndcapPHits 3717
branch: HcalElectronEndcapClusterHits 2375296 branch: EcalBarrelHits 3701
branch: HcalElectronEndcapClusterHits#0 1459130 branch: EcalBarrelScFiHits 3760
branch: HcalElectronEndcapClusters 2726638 branch: HcalBarrelHits 3701
branch: HcalElectronEndcapClusters#0 1452637 branch: HcalEndcapPHits 3717
branch: HcalElectronEndcapClusters#1 1452637 branch: HcalEndcapNHits 3717
branch: HcalHadronEndcapHitsDigi 4112230 branch: TrackerEndcapHits 4372
branch: HcalHadronEndcapHitsReco 5003312 branch: TrackerBarrelHits 4372
branch: HcalHadronEndcapHitsReco#0 1689929 branch: VertexBarrelHits 4352
branch: HcalHadronEndcapHitsRecoXY 4723184 branch: VertexEndcapHits 4352
branch: HcalHadronEndcapHitsRecoXY#0 1689633 branch: DRICHHits 4217
branch: HcalHadronEndcapClusterHits 2328711
branch: HcalHadronEndcapClusterHits#0 1454456
branch: HcalHadronEndcapClusters 2690491
branch: HcalHadronEndcapClusters#0 1450880
branch: HcalHadronEndcapClusters#1 1450880
branch: TrackerBarrelRawHits 24139635
branch: TrackerEndcapRawHits 3166129
branch: VertexBarrelRawHits 29242781
branch: VertexEndcapRawHits 2219822
branch: TrackerBarrelRecHits 64929921
branch: TrackerEndcapRecHits 6218655
branch: VertexBarrelRecHits 75481339
branch: VertexEndcapRecHits 3798116
branch: ReconstructedParticlesInitFromTruth 1958375
branch: outputTrackParameters 2035687
branch: ForwardRICHHits2 20341908
branch: ForwardRICHHitsDigi 1500666
branch: ForwardRICHHitsReco 1858812
branch: EcalEndcapNHits 2255311
branch: EcalEndcapPHits 2255311
branch: EcalBarrelHits 2248873
branch: EcalBarrelScFiHits 2272009
branch: HcalBarrelHits 2248873
branch: HcalHadronEndcapHits 2280802
branch: HcalElectronEndcapHits 2291933
branch: TrackerEndcapHits 2558412
branch: TrackerBarrelHits 2558412
branch: VertexBarrelHits 2554303
branch: VertexEndcapHits 2554303
branch: ForwardRICHHits 2544344
``` ```
During the development of the reconstruction, there are more branches enabled here than are strictly necessary (e.g. simulated and digitized hits, intermediate reconstruction parameters). These are all available for analysis (with fixed interfaces). In this tutorial we will focus on a few branches in particular: During the development of the reconstruction, there are more branches enabled here than are strictly necessary (e.g. simulated and digitized hits, intermediate reconstruction parameters). These are all available for analysis (with fixed interfaces). In this tutorial we will focus on a few branches in particular:
- ReconstructedParticles: contains the results from track finding and fitting, - ReconstructedParticles: contains the results from track finding and fitting,
- EcalBarrelClusters: contains the results from the barrel Ecal cluster finding, - EcalBarrelImagingClusters: contains the results from the barrel Imaging Ecal cluster finding,
- EcalBarrelScFiClusters: contains the results from the barrel Ecal ScFi cluster finding. - EcalBarrelScFiClusters: contains the results from the barrel ScFi Ecal cluster finding.
We can inspect each of these three branches in more detail (some information removed for formatting) We can inspect each of these three branches in more detail (some information removed for formatting)
```console ```console
root [14] events->Print("ReconstructedParticles*") root [14] events->Print("ReconstructedParticles*")
****************************************************************************** ******************************************************************************
*Tree :events : Events tree * *Tree :events : Events tree *
*Entries : 1000002 : Total = 34023140832 bytes File Size = 8907188433 * *Entries : 1002 : Total = 44146720 bytes File Size = 14534550 *
* : : Tree compression factor = 3.82 * * : : Tree compression factor = 3.01 *
****************************************************************************** ******************************************************************************
*Br 0 :ReconstructedParticles : Int_t ReconstructedParticles_ * *Br 0 :ReconstructedParticles : Int_t ReconstructedParticles_ *
*Br 1 :ReconstructedParticles.pid : Long64_t pid[ReconstructedParticles_] * *Br 1 :ReconstructedParticles.ID.value : Int_t value[ReconstructedParticles_] *
*Br 2 :ReconstructedParticles.energy : * *Br 2 :ReconstructedParticles.p.x : Float_t x[ReconstructedParticles_] *
* | Double_t energy[ReconstructedParticles_] * *Br 3 :ReconstructedParticles.p.y : Float_t y[ReconstructedParticles_] *
*Br 3 :ReconstructedParticles.p.x : Double_t x[ReconstructedParticles_] * *Br 4 :ReconstructedParticles.p.z : Float_t z[ReconstructedParticles_] *
*Br 4 :ReconstructedParticles.p.y : Double_t y[ReconstructedParticles_] * *Br 5 :ReconstructedParticles.v.x : Float_t x[ReconstructedParticles_] *
*Br 5 :ReconstructedParticles.p.z : Double_t z[ReconstructedParticles_] * *Br 6 :ReconstructedParticles.v.y : Float_t y[ReconstructedParticles_] *
*Br 6 :ReconstructedParticles.charge : * *Br 7 :ReconstructedParticles.v.z : Float_t z[ReconstructedParticles_] *
* | Double_t charge[ReconstructedParticles_] * *Br 8 :ReconstructedParticles.time : Float_t time[ReconstructedParticles_]*
*Br 7 :ReconstructedParticles.mass : * *Br 9 :ReconstructedParticles.pid : Int_t pid[ReconstructedParticles_] *
* | Double_t mass[ReconstructedParticles_] * *Br 10 :ReconstructedParticles.status : Short_t status[ReconstructedParticles_] *
*Br 8 :ReconstructedParticles.clusters_begin : * *Br 11 :ReconstructedParticles.charge : Short_t charge[ReconstructedParticles_] *
* | UInt_t clusters_begin[ReconstructedParticles_] * *Br 12 :ReconstructedParticles.momentum : Float_t momentum[ReconstructedParticles_] *
*Br 9 :ReconstructedParticles.clusters_end : * *Br 13 :ReconstructedParticles.energy : Float_t energy[ReconstructedParticles_] *
* | UInt_t clusters_end[ReconstructedParticles_] * *Br 14 :ReconstructedParticles.mass : Float_t mass[ReconstructedParticles_]*
*Br 10 :ReconstructedParticles.tracks_begin : * *Br 15 :ReconstructedParticles.weight.value : *
* | UInt_t tracks_begin[ReconstructedParticles_] * * | Float_t value[ReconstructedParticles_] *
*Br 11 :ReconstructedParticles.tracks_end : *
* | UInt_t tracks_end[ReconstructedParticles_] *
*Br 12 :ReconstructedParticles.particles_begin : *
* | UInt_t particles_begin[ReconstructedParticles_] *
*Br 13 :ReconstructedParticles.particles_end : *
* | UInt_t particles_end[ReconstructedParticles_] *
*............................................................................* *............................................................................*
root [6] events->Print("EcalBarrelClusters*") root [6] events->Print("EcalBarrelScFiClusters*")
****************************************************************************** ******************************************************************************
*Tree :events : Events tree * *Tree :events : Events tree *
*Entries : 500002 : Total = 22026619265 bytes File Size = 6339571464 * *Entries : 1002 : Total = 44146720 bytes File Size = 14534550 *
* : : Tree compression factor = 3.47 * * : : Tree compression factor = 3.01 *
****************************************************************************** ******************************************************************************
*Br 0 :EcalBarrelClusters : Int_t EcalBarrelClusters_ * *Br 0 :EcalBarrelScFiClusters : Int_t EcalBarrelScFiClusters_ *
*Br 1 :EcalBarrelClusters.clusterID : Int_t clusterID[EcalBarrelClusters_]* *Br 1 :EcalBarrelScFiClusters.ID.value : *
*Br 2 :EcalBarrelClusters.nhits : Int_t nhits[EcalBarrelClusters_] * * | Int_t value[EcalBarrelScFiClusters_] *
*Br 3 :EcalBarrelClusters.energy : Double_t energy[EcalBarrelClusters_] * *Br 2 :EcalBarrelScFiClusters.type : Int_t type[EcalBarrelScFiClusters_] *
*Br 4 :EcalBarrelClusters.edep : Double_t edep[EcalBarrelClusters_] * *Br 3 :EcalBarrelScFiClusters.energy : *
*Br 5 :EcalBarrelClusters.radius : Double_t radius[EcalBarrelClusters_] * * | Float_t energy[EcalBarrelScFiClusters_] *
*Br 6 :EcalBarrelClusters.skewness : * *Br 4 :EcalBarrelScFiClusters.energyError : *
* | Double_t skewness[EcalBarrelClusters_] * * | Float_t energyError[EcalBarrelScFiClusters_] *
*Br 7 :EcalBarrelClusters.leakcorr : * *Br 5 :EcalBarrelScFiClusters.time : Float_t time[EcalBarrelScFiClusters_]*
* | Double_t leakcorr[EcalBarrelClusters_] * *Br 6 :EcalBarrelScFiClusters.nhits : *
*Br 8 :EcalBarrelClusters.eta : Double_t eta[EcalBarrelClusters_] * * | UInt_t nhits[EcalBarrelScFiClusters_] *
*Br 9 :EcalBarrelClusters.position.x : Double_t x[EcalBarrelClusters_] * *Br 7 :EcalBarrelScFiClusters.position.x : *
*Br 10 :EcalBarrelClusters.position.y : Double_t y[EcalBarrelClusters_] * * | Float_t x[EcalBarrelScFiClusters_] *
*Br 11 :EcalBarrelClusters.position.z : Double_t z[EcalBarrelClusters_] * *Br 8 :EcalBarrelScFiClusters.position.y : *
*Br 12 :EcalBarrelClusters.polar.r : Double_t r[EcalBarrelClusters_] * * | Float_t y[EcalBarrelScFiClusters_] *
*Br 13 :EcalBarrelClusters.polar.theta : * *Br 9 :EcalBarrelScFiClusters.position.z : *
* | Double_t theta[EcalBarrelClusters_] * * | Float_t z[EcalBarrelScFiClusters_] *
*Br 14 :EcalBarrelClusters.polar.phi : Double_t phi[EcalBarrelClusters_] * *Br 10 :EcalBarrelScFiClusters.positionError.xx : *
*Br 15 :EcalBarrelClusters.cl_theta : * * | Float_t xx[EcalBarrelScFiClusters_] *
* | Double_t cl_theta[EcalBarrelClusters_] * *Br 11 :EcalBarrelScFiClusters.positionError.yy : *
*Br 16 :EcalBarrelClusters.cl_phi : Double_t cl_phi[EcalBarrelClusters_] * * | Float_t yy[EcalBarrelScFiClusters_] *
*Br 17 :EcalBarrelClusters.hits_begin : * *Br 12 :EcalBarrelScFiClusters.positionError.zz : *
* | UInt_t hits_begin[EcalBarrelClusters_] * * | Float_t zz[EcalBarrelScFiClusters_] *
*Br 18 :EcalBarrelClusters.hits_end : UInt_t hits_end[EcalBarrelClusters_] * *Br 13 :EcalBarrelScFiClusters.positionError.xy : *
*Br 19 :EcalBarrelClusters.layers_begin : * * | Float_t xy[EcalBarrelScFiClusters_] *
* | UInt_t layers_begin[EcalBarrelClusters_] * *Br 14 :EcalBarrelScFiClusters.positionError.xz : *
*Br 20 :EcalBarrelClusters.layers_end : * * | Float_t xz[EcalBarrelScFiClusters_] *
* | UInt_t layers_end[EcalBarrelClusters_] * *Br 15 :EcalBarrelScFiClusters.positionError.yz : *
* | Float_t yz[EcalBarrelScFiClusters_] *
*Br 16 :EcalBarrelScFiClusters.radius : *
* | Float_t radius[EcalBarrelScFiClusters_] *
*Br 17 :EcalBarrelScFiClusters.skewness : *
* | Float_t skewness[EcalBarrelScFiClusters_] *
*Br 18 :EcalBarrelScFiClustersInfo : Int_t EcalBarrelScFiClustersInfo_ *
*Br 19 :EcalBarrelScFiClustersInfo.clusterID.value : *
* | Int_t value[EcalBarrelScFiClustersInfo_] *
*Br 20 :EcalBarrelScFiClustersInfo.polar.r : *
* | Float_t r[EcalBarrelScFiClustersInfo_] *
*Br 21 :EcalBarrelScFiClustersInfo.polar.theta : *
* | Float_t theta[EcalBarrelScFiClustersInfo_] *
*Br 22 :EcalBarrelScFiClustersInfo.polar.phi : *
* | Float_t phi[EcalBarrelScFiClustersInfo_] *
*Br 23 :EcalBarrelScFiClustersInfo.eta : *
* | Float_t eta[EcalBarrelScFiClustersInfo_] *
*............................................................................* *............................................................................*
``` ```
The ReconstructedParticles branch contains the momentum, e.g. `ReconstructedParticles.p.x` for the x-component, and references to other entities related to this particle (clusters, tracks, particles). The ReconstructedParticles branch contains the momentum, e.g. `ReconstructedParticles.p.x` for the x-component, and references to other entities related to this particle (clusters, tracks, particles).
Note: Due to conditions that are currently being addressed, some momentum vectors use `p.x` whereas others use `p.px`.
## Analysis of full simulation reconstruction output with traditional ROOT commands ## Analysis of full simulation reconstruction output with traditional ROOT commands
After opening the reconstruction output file, let's make some pretty plots. We start with: After opening the reconstruction output file, let's make some pretty plots. We start with:
...@@ -245,12 +231,12 @@ root -l s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/SINGLE/pi+/1GeV/45 ...@@ -245,12 +231,12 @@ root -l s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/SINGLE/pi+/1GeV/45
and in the ROOT session: and in the ROOT session:
```console ```console
root [1] .ls root [1] .ls
TNetXNGFile** root://sci-xrootd.jlab.org//osgpool/eic/ATHENA/RECO/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root data file TS3WebFile** s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/master/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root data file
TNetXNGFile* root://sci-xrootd.jlab.org//osgpool/eic/ATHENA/RECO/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root data file TS3WebFile* s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/master/SINGLE/pi+/1GeV/45to135deg/pi+_1GeV_45to135deg.0001.root data file
KEY: TTree events;1 Events tree KEY: TTree events;1 Events tree
KEY: TTree metadata;1 Metadata tree KEY: TTree metadata;1 Metadata tree
events->Draw("ReconstructedParticlesInitFromTruth.p.px") events->Draw("ReconstructedParticles.p.x")
events->Draw("EcalBarrelClusters.polar.phi:EcalBarrelClusters.polar.theta", "EcalBarrelClusters.edep", "colz") events->Draw("EcalBarrelImagingClustersInfo.polar.phi:EcalBarrelImagingClustersInfo.polar.theta", "EcalBarrelScFiClusters.energy", "colz")
``` ```
These types of plots will likely be limited to simple data inspection. These types of plots will likely be limited to simple data inspection.
...@@ -293,12 +279,11 @@ auto Q2(const std::vector<ROOT::Math::PxPyPzEVector>& mom) { ...@@ -293,12 +279,11 @@ auto Q2(const std::vector<ROOT::Math::PxPyPzEVector>& mom) {
return Q2Vec; return Q2Vec;
} }
ROOT::RDataFrame d("events", "s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO//DIS/crossDivNrgCrab/DIS_NC_Q2gt10_crossDivNrgCrab_25mRad_5x41_v2.root"); ROOT::RDataFrame d("events", "s3https://dtn01.sdcc.bnl.gov:9000/eictest/ATHENA/RECO/master/DIS/NC/5x41/minQ2=1/pythia8NCDIS_5x41_minQ2=1_beamEffects_xAngle=-0.025_hiDiv_1.0001.root");
auto d0 = d.Define("p", momenta_from_reconstruction, {"ReconstructedParticles"}).Define("Q2", Q2, {"p"}); auto d0 = d.Define("p", momenta_from_reconstruction, {"ReconstructedParticles"}).Define("Q2", Q2, {"p"});
auto h_Q2_sim = d0.Histo1D({"h_Q2_sim", "; GeV; counts", 100, -5, 25}, "Q2"); auto h_Q2_sim = d0.Histo1D({"h_Q2_sim", "; GeV; counts", 100, -5, 25}, "Q2");
auto& h1_Q2_sim = *h_Q2_sim; auto& h1_Q2_sim = *h_Q2_sim;
h1_Q2_sim.DrawClone("hist"); h1_Q2_sim.DrawClone("hist");
``` ```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment