EventDisplayTutorial: Difference between revisions
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= | = Mu2eEventDisplay = | ||
== Introduction == | == Introduction == | ||
The | 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 | 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 | 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 | When running Mu2eEventDisplay you must be in the working directory. | ||
=== Making the Working Directory === | === Making the Working Directory === | ||
Line 24: | Line 24: | ||
Z = 1,2,3, etc. | Z = 1,2,3, etc. | ||
cd /mu2e/app/users/<username> (if it doesn’t exist make it) | cd /exp/mu2e/app/users/<username> (if it doesn’t exist make it) | ||
mkdir Tutorial | mkdir Tutorial | ||
cd Tutorial | cd Tutorial | ||
source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups | source /cvmfs/fermilab.opensciencegrid.org/products/common/etc/setups | ||
mu2einit | |||
muse backing TutorialBacking v03_00_01 | |||
muse backing TutorialBacking | |||
muse setup | muse setup | ||
muse build GDML | |||
emacs .rootrc | emacs .rootrc | ||
Line 38: | Line 37: | ||
add these to your .rootrc | add these to your .rootrc | ||
WebEve.DisableShow: | WebEve.DisableShow: 0 | ||
WebGui.HttpPort: | 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 | 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 59: | 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 | 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 86: | Line 86: | ||
Without altering the fcl run the following command: | Without altering the fcl run the following command: | ||
mu2e -c | 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 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 01234:localhost:01234 <USER>@ | 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 133: | Line 131: | ||
=== Task 2: events in the CRV === | === Task 2: events in the CRV === | ||
Now try again, this time edit the | 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 | 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 | ||
Line 156: | Line 154: | ||
Now try | Now try | ||
mu2e -c extracted_example.fcl /pnfs/mu2e/ | 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.