EventDisplayTutorial
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
The first step of running the EventDisplay is to create a directory in which you will be working and setting it up correctly.
Setting Up the Working Directory
To begin, ssh into the mu2egpvm in the standard way
ssh -AKX -Y username@mu2egpvm0Z.fnal.gov
where Z is the number of the gpvm (1, 2, 3, ... etc). From here, navigate to the working app directory using
cd /exp/mu2e/app/users/<username> (if this does not exist, make it)
Then, we need to use the standard shell command to create your directory
mkdir workingDir
Following this command, move into the directory using
cd workingDir
Once inside the directory, initialize the mu2e working environment using
mu2einit
Now, we need to set up the .rootrc file inside the working directory so that we can run the EventDisplay correctly. The .rootrc file is typically in the home directory and holds the run commands for root. Creating it in this directory will allow us to have a specific setup when we start root in this directory. A quick way to edit the .rootrc file (or create, if it is not already created) is to run the command
vim .rootrc
Once this opens, enter insert mode by pressing the 'i' key and paste the following into the .rootrc
WebEve.DisableShow: 1 WebGui.HttpPort: 05678 WebEve.GLViewer: Three
and exit by hitting 'esc' followed by :wq to write and quit. If you want to work interactively on the mu2e machines (if you have a VNC, for instance) then change the '1' to a '0' in the first line. Change the port number by changing the 05678 to a 5 digit number of your choosing. If you wish it to be truly unique, you can use the last five digits of your badge.
Now that we have our .rootrc file, we need the repository for EventDisplay from Github. To clone this, use the command
git clone https://github.com/Mu2e/EventDisplay.git
so that we have access to all of the examples and structure already constructed. A quick ls -a command should show both the EventDisplay directory and the .rootrc file.
Now that we have these two components, we can begin accessing the EventDisplay.
Remote Setup and Viewing of EventDisplay
If you are looking to access the event display remotely, i.e. using a browser rather than interactively in the terminal, you need to set up an ssh tunnel. To do so, open a new terminal window and input the following command
ssh -AKXY -L 05678:localhost:05678 <USER>@mu2egpvm0Z.fnal.gov
where the port number 05678 is replaced by your chosen port number, the <USER> is replaced with your username, and again Z is the number of gpvm that you are choosing to use. Another option is to write this command as
ssh -AKXY -L 05678:localhost:05678 -l <USER> mu2egpvm0Z.fnal.gov
which is simply a different setting for ssh-ing. Further, replacing 'localhost' with the ip 127.0.0.1 (the home ip) also yields the same results. From here, we navigate to our working directory again using the command
cd /exp/mu2e/app/users/<USER>/workingDir
Once we have returned to the working directory, we can setup our environment using the following commands
mu2einit muse setup Analysis
Note: other musings may be viable during this step, however, Analysis contains EventNtuple (v06_04_00), EventDisplay (v07_00_02), and Tutorial (v01_00_00) so it covers all the needed bases. Now, to run the event display we need to use the command
mu2e -c controlFile.fcl dataFile.art
The specific .art files will depend on the data to be looked at. The example fcl file that will be used throughout this tutorial is
EventDisplay/examples/nominal_example.fcl
There are a variety of example fcl files that are in EventDisplay/examples/ which you should test out on your own. Alterations can be made to these fcl files to produce different results, however, for this tutorial, no alterations or knowledge of fcl is required.
Now that this command has been run, your EventDisplay will be created, with the tracks, events, and data presented depending on what dataset you are looking at. To access this EventDisplay remotely, open a clean browser window and input the following into the url box
localhost:05678/win1/
or,
127.0.0.1:05678/win1/
(where 05678 is again replaced by your port number of choice) and you should see in your browser the interactive EventDisplay window populate with a wide variety of options and images.
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 EventDisplay/examples/nominal_example.fcl /pnfs/mu2e/tape/phy-sim/mcs/mu2e/CeMLeadingLogOnSpillTriggered/MDC2020au_perfect_v1_3/art/00/38/mcs.mu2e.CeMLeadingLogOnSpillTriggered.MDC2020au_perfect_v1_3.001202_00001447.art
If you see and input/output error this might mean that the file needs to be prestaged: https://mu2ewiki.fnal.gov/wiki/Prestage
You should see an image of the Conversion Signal. 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 EventDisplay/examples/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 EventDisplay/examples/nominal_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.