EventDisplayTutorial: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= REve/Mu2e Event Display =
= Mu2eEventDisplay =


== Introduction ==
== Introduction ==


The REve/Mu2e Event Display is useful for visualizing the data or MC you are analyzing.
The Mu2eEventDisplay is useful for visualizing the data or MC you are analyzing.


I have prepared two examples:
I have prepared two examples:
Line 12: Line 12:
== Before you start ==
== Before you start ==


You should have REve within the tutorial environment. If you are working on outside of the tutorial then you will need to clone and build the REve/Mu2e repo.
You should have Mu2eEventDisplay within the tutorial environment: muse backing Tutorial v03_00_00. If you are working on outside of the tutorial then you will need to clone and build the Mu2eEventDisplay/Mu2e repo.


The first step is to modify your .rootrc in the working directory to the commands listed in the REve/README.md. Choose a number that is not 1234 for the port number and set this in your .rootrc. This will be the port that you will use to access the display once it's running. If you want a unique number, use the last four or five digits of your FNAL badge.
The first step is to modify your .rootrc in the working directory to the commands listed in the Mu2eEventDisplay/README.md. Choose a number that is not 1234 for the port number and set this in your .rootrc. This will be the port that you will use to access the display once it's running. If you want a unique number, use the last four or five digits of your FNAL badge.


When running REve you must be in the working directory.
When running Mu2eEventDisplay you must be in the working directory.
 
=== Making the Working Directory ===
 
ssh -AKX -Y username@mu2egpvm0Z.fnal.gov
 
Z = 1,2,3, etc.
 
cd /exp/mu2e/app/users/<username> (if it doesn’t exist make it)
mkdir Tutorial
cd Tutorial
source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups
mu2einit
muse backing TutorialBacking v03_00_01
muse setup
muse build GDML
emacs .rootrc
 
 
add these to your .rootrc
 
WebEve.DisableShow:  0
WebGui.HttpPort:  01234
 
The first option will eventually be ``1" but we have to work around ROOT's REve development.


== CeEndpoint ==
== CeEndpoint ==
Firstly you should start with a simple example of a mixed CeEndpoint signal.
Firstly you should start with a simple example of a mixed CeEndpoint signal.


Look at the helix_example.fcl. If you are familiar with Mu2e data products you will recognize the options you can display. Pretty much any RecoDataProduct from Mu2e/Offline can be visualized including:
Look at the nominal_example.fcl. If you are familiar with Mu2e data products you will recognize the options you can display. Pretty much any RecoDataProduct from Mu2e/Offline can be visualized including:


* ComboHits (panel hits)
* ComboHits (panel hits)
Line 35: Line 59:
* MCTrajectory
* MCTrajectory


Before deciding what to visualize you should familiarize yourself with whats in your .art file (using something like Offline/Print/fcl/dumpdataProducts.fcl). By default REve uses the "get Many" functionality in art which means it displays all of the above products if they are in the .art file.
Before deciding what to visualize you should familiarize yourself with whats in your .art file (using something like Offline/Print/fcl/dumpdataProducts.fcl). By default Mu2eEventDisplay uses the "get Many" functionality in art which means it displays all of the above products if they are in the .art file.


If you wish to only look at one product you can use the "specifyTag : true" option in your .fcl to select which specific tags you want to visualize e.g. for a downstream kinkal electron fit you may only want to look at "KalSeedCollection : ["KKDeM"]".
If you wish to only look at one product you can use the "specifyTag : true" option in your .fcl to select which specific tags you want to visualize e.g. for a downstream kinkal electron fit you may only want to look at "KalSeedCollection : ["KKDeM"]".
Line 62: Line 86:
Without altering the fcl run the following command:
Without altering the fcl run the following command:


  mu2e -c helix_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CeEndpointMix1BBSignal/MDC2020z_best_v1_1/art/01/94/mcs.mu2e.CeEndpointMix1BBSignal.MDC2020z_best_v1_1.001210_00000787.art
  mu2e -c backing/ Mu2eEventDisplay/tutorial/nominal_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CeEndpointMix1BBSignal/MDC2020z_best_v1_1/art/01/94/mcs.mu2e.CeEndpointMix1BBSignal.MDC2020z_best_v1_1.001210_00000787.art


If you see and input/output error this might mean that the file needs to be prestaged: https://mu2ewiki.fnal.gov/wiki/Prestage
If you see and input/output error this might mean that the file needs to be prestaged: https://mu2ewiki.fnal.gov/wiki/Prestage


If run successfully you should see a series of print statements and a pause. There will be a list of geometry options with "1" indicating that option is set to "true."  
If run successfully you should see a series of print statements and a pause. There will be a list of geometry options with "1" indicating that option is set to "true."  
If you are on the FNAL site, open a browser on your local machine and copy the URL (something like http://localhost:1234/win1/) change this to something like (http://mu2egpvm02.fnal.gov:1234/win1/).


If you are off-site you will need to set a ssh tunnel using a local browser on your laptop, something like:
If you are off-site you will need to set a ssh tunnel using a local browser on your laptop, something like:


  ssh -KXY -L 1234:mu2egpvm01.fnal.gov:1234 user@mu2egpvm01.fnal.gov
  ssh -KXY -L 01234:localhost:01234 <USER>@mu2egpvm0Z.fnal.gov


change "1234" to the number you are given by ROOT, or that you chose in your .rootrc. Then something like http://localhost:1234/win1/ in the local browser should now display the event.
where Z is the same Z as above, change "1234" to the number you are given by ROOT, or that you chose in your .rootrc. Then something like http://localhost:1234/win1/ in the local browser should now display the event.


You should see an image of the CEEndpoint with pileup. By default the MC trajectory, KalSeed and CaloClusters and CaloCrystals are shown).
You should see an image of the CEEndpoint with pileup. By default the MC trajectory, KalSeed and CaloClusters and CaloCrystals are shown).
Line 85: Line 107:
You will have noticed that as well as the 3D view there are also a set of possible 2D views.
You will have noticed that as well as the 3D view there are also a set of possible 2D views.


The tracker XY and YZ are there first two.
The tracker XY and YZ are the first two.


Try going to these views by selecting "view" and "TrackerXY" and then "single".
Try going to these views by selecting "view" and "TrackerXY" and then "single".
Line 95: Line 117:
Kill the display as before
Kill the display as before


=== Task 1c: Go to a given event ===
=== Task 1c: Adding and Removing Geometry objects ===
 
Using the menu on the left, select Geometry Scenes, under here you will see a number of options, try unchecking and rechecking things and see how the geometry objects can be removed to aid visibility.
 


If could be that when doing an analysis you want to specifically view a given event e.g. Event : 8 Sub Run :787 Run :1210.
=== Task 1d: Go to a given event ===


To do this run the command line arguement again but add "-e 1210:787:8" meaning "-e run:subrun:event."
It could be that when doing an analysis you want to specifically view a given event e.g. Event : 8 Sub Run :787 Run :1210.
 
To do this run the command line argument again but add "-e 1210:787:8" meaning "-e run:subrun:event."


== Cosmics in the CRV ==
== Cosmics in the CRV ==


Now try again, this time edit the helix_example.fcl so CaloCluster : false (since the files we will use dont have crystals stored). Set addCRV : true
=== Task 2: events in the CRV ===
Now try again, this time edit the nominal_example.fcl so CaloCluster : false (since the files we will use dont have crystals stored). Set addCRV : true


Now run:
Now run:


  mu2e -c helix_example.fcl /pnfs//mu2e/persistent/datasets/phy-sim/mcs/mu2e/CosmicCRYhiOnSpillSignal/MDC2020r_perfect_v1_0/art/a4/23/mcs.mu2e.CosmicCRYhiOnSpillSignal.MDC2020r_perfect_v1_0.001205_00000179.art  
  mu2e -c backing/Mu2eEventDisplay/tutorial/nominal_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CosmicCORSIKAOnSpillSignal/MDC2020z2_best_v1_1/art/53/7b/mcs.mu2e.CosmicCORSIKAOnSpillSignal.MDC2020z2_best_v1_1.001202_00000300.art  
 


You should see straight cosmics coming into the CRV and producing tracks in the tracker.
You should see straight cosmics coming into the CRV and producing tracks in the tracker.
Line 115: Line 144:
When you are ready "Quit." You can try setting addCRV : false and re-running, this gives a clearer view of the tracker.
When you are ready "Quit." You can try setting addCRV : false and re-running, this gives a clearer view of the tracker.


== Extracted ==
== Extracted Cosmics ==


During the first commissioning we will view cosmic muons in an extracted positon. Here the Calo and Tracker are outside the solenoids and a few sections of the CRV are placed above.
During the first commissioning we will view cosmic muons in an extracted positon. Here the Calo and Tracker are outside the solenoids and a few sections of the CRV are placed above.
Line 125: Line 154:
Now try
Now try


  mu2e -c extracted_example.fcl /pnfs/mu2e/scratch/users/brownd/workflow/default/outstage/3553474/00/00000/mcs.brownd.CosmicCRYExtractedCatDigiTrk.MDC2020z.001205_00000012.art -e 1205:12:1172
  mu2e -c backing/ Mu2eEventDisplay/tutorial/extracted_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CosmicCRYExtractedCatDigiTrk/MDC2020z/art/00/34/mcs.mu2e.CosmicCRYExtractedCatDigiTrk.MDC2020z.001205_00003665.art -e 1205:3665:163 


You are going directly to an interesting event.
You are going directly to an interesting event.

Latest revision as of 15:06, 14 October 2024

Mu2eEventDisplay

Introduction

The Mu2eEventDisplay is useful for visualizing the data or MC you are analyzing.

I have prepared two examples:

1) Visualize a CeEndpoint Mix sample 2) Visualize a Cosmic sample in Extracted mode

Before you start

You should have Mu2eEventDisplay within the tutorial environment: muse backing Tutorial v03_00_00. If you are working on outside of the tutorial then you will need to clone and build the Mu2eEventDisplay/Mu2e repo.

The first step is to modify your .rootrc in the working directory to the commands listed in the Mu2eEventDisplay/README.md. Choose a number that is not 1234 for the port number and set this in your .rootrc. This will be the port that you will use to access the display once it's running. If you want a unique number, use the last four or five digits of your FNAL badge.

When running Mu2eEventDisplay you must be in the working directory.

Making the Working Directory

ssh -AKX -Y username@mu2egpvm0Z.fnal.gov

Z = 1,2,3, etc.

cd /exp/mu2e/app/users/<username> (if it doesn’t exist make it)
mkdir Tutorial
cd Tutorial
source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups
mu2einit
muse backing TutorialBacking v03_00_01
muse setup
muse build GDML
emacs .rootrc


add these to your .rootrc

WebEve.DisableShow:   0
WebGui.HttpPort:   01234

The first option will eventually be ``1" but we have to work around ROOT's REve development.

CeEndpoint

Firstly you should start with a simple example of a mixed CeEndpoint signal.

Look at the nominal_example.fcl. If you are familiar with Mu2e data products you will recognize the options you can display. Pretty much any RecoDataProduct from Mu2e/Offline can be visualized including:

  • ComboHits (panel hits)
  • TrkStrawSeedHits (the hits used to make the track)
  • TimeCluster
  • Helix Seed (pattern recognition output for helix)
  • KalSeed (Kalman track)
  • CRVClusters and CRVRecoPulses
  • CaloClusters and CaloHits

We also include one MC truth option:

  • MCTrajectory

Before deciding what to visualize you should familiarize yourself with whats in your .art file (using something like Offline/Print/fcl/dumpdataProducts.fcl). By default Mu2eEventDisplay uses the "get Many" functionality in art which means it displays all of the above products if they are in the .art file.

If you wish to only look at one product you can use the "specifyTag : true" option in your .fcl to select which specific tags you want to visualize e.g. for a downstream kinkal electron fit you may only want to look at "KalSeedCollection : ["KKDeM"]".

For the purpose of the tutorial, we will use the default configuration.

There is also a set of "geom options" that decide what parts of the Mu2e geometry are shown. By default you will see the following:

  • IPA and OPA (inner and outer proton absorbers) - the most interesting feature is the conical shape of the OPA
  • Stopping target - you will notice the foil structure and can zoom in close to see a given foil. The target is not visible in extracted mode.
  • Tracker planes - individual straws can be displayed using the "strawdisplay : true" option
  • Calorimeter disk and crystals

There are then several optional geometry objects:

  • CRV - the cosmic ray veto system
  • PS and TS and DS - the magnets
  • Production Target
  • STM

The latter two need further development.


Task 1a: View all products

Without altering the fcl run the following command:

mu2e -c backing/ Mu2eEventDisplay/tutorial/nominal_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CeEndpointMix1BBSignal/MDC2020z_best_v1_1/art/01/94/mcs.mu2e.CeEndpointMix1BBSignal.MDC2020z_best_v1_1.001210_00000787.art

If you see and input/output error this might mean that the file needs to be prestaged: https://mu2ewiki.fnal.gov/wiki/Prestage

If run successfully you should see a series of print statements and a pause. There will be a list of geometry options with "1" indicating that option is set to "true."

If you are off-site you will need to set a ssh tunnel using a local browser on your laptop, something like:

ssh -KXY -L 01234:localhost:01234 <USER>@mu2egpvm0Z.fnal.gov

where Z is the same Z as above, change "1234" to the number you are given by ROOT, or that you chose in your .rootrc. Then something like http://localhost:1234/win1/ in the local browser should now display the event.

You should see an image of the CEEndpoint with pileup. By default the MC trajectory, KalSeed and CaloClusters and CaloCrystals are shown).

Hover over objects to find information about them. Use the "Next Event" to skip (do this slowly).

Once finished select the "Quit" button to exit and close out the browser and kill the job on the mu2e machines.

Task 1b: Try a different view

You will have noticed that as well as the 3D view there are also a set of possible 2D views.

The tracker XY and YZ are the first two.

Try going to these views by selecting "view" and "TrackerXY" and then "single".

You should now see an enlarged view of the Tracker XY plane.

To go back to 3D use the back arrows.

Kill the display as before

Task 1c: Adding and Removing Geometry objects

Using the menu on the left, select Geometry Scenes, under here you will see a number of options, try unchecking and rechecking things and see how the geometry objects can be removed to aid visibility.


Task 1d: Go to a given event

It could be that when doing an analysis you want to specifically view a given event e.g. Event : 8 Sub Run :787 Run :1210.

To do this run the command line argument again but add "-e 1210:787:8" meaning "-e run:subrun:event."

Cosmics in the CRV

Task 2: events in the CRV

Now try again, this time edit the nominal_example.fcl so CaloCluster : false (since the files we will use dont have crystals stored). Set addCRV : true

Now run:

mu2e -c backing/Mu2eEventDisplay/tutorial/nominal_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CosmicCORSIKAOnSpillSignal/MDC2020z2_best_v1_1/art/53/7b/mcs.mu2e.CosmicCORSIKAOnSpillSignal.MDC2020z2_best_v1_1.001202_00000300.art 


You should see straight cosmics coming into the CRV and producing tracks in the tracker.

Move slowly through the events, zoom in and "go inside" the CRV for a clearer look.

When you are ready "Quit." You can try setting addCRV : false and re-running, this gives a clearer view of the tracker.

Extracted Cosmics

During the first commissioning we will view cosmic muons in an extracted positon. Here the Calo and Tracker are outside the solenoids and a few sections of the CRV are placed above.

Task 3: Viewing extracted cosmics

Extracted mode means the tracker and calorimeter are outside the solenoid. We want to visualize straight cosmics in this mode. Look at extracted_example.fcl you will notice that the "addCRV" option is now "true" thats because you will want to see cosmic bar hits in this event.

Now try

mu2e -c backing/ Mu2eEventDisplay/tutorial/extracted_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CosmicCRYExtractedCatDigiTrk/MDC2020z/art/00/34/mcs.mu2e.CosmicCRYExtractedCatDigiTrk.MDC2020z.001205_00003665.art -e 1205:3665:163  

You are going directly to an interesting event.

You will notice a few things:

  • MCTrjectory line for straight mu + or mu -
  • Magenta "dots" - these are KalInteresections
  • KalSeed based on Kinematic Line (underneath the MCTraj)

Once you see an event with bars highlighted these are CRV bars which have received CRVClusters.

You can try "Quitting" once you see that event.

Try setting MCTraj : false in the extracted_example.fcl and rerun. You are now looking more clearly at a reconstructed Kalman track known as a Kinematic Line fit in KinKal. These types of through going cosmics are excellent tools for alignment and calibration.