Difference between revisions of "Mott Analysis"
Line 100: | Line 100: | ||
=='''Additional Analysis Tools'''== | =='''Additional Analysis Tools'''== | ||
+ | |||
* ROOT provides a utility that generates a skeleton class designed to loop over the entries of the tree: | * ROOT provides a utility that generates a skeleton class designed to loop over the entries of the tree: | ||
root [0] TFile *f = new TFile("Mott_Sample_7231_0.root"); | root [0] TFile *f = new TFile("Mott_Sample_7231_0.root"); | ||
root [1] T->MakeClass("MyClass") | root [1] T->MakeClass("MyClass") | ||
Files: MyClass.h and MyClass.C generated from Tree: T | Files: MyClass.h and MyClass.C generated from Tree: T | ||
+ | |||
* Simple plots of data from decoded rootfiles can be generated by: | * Simple plots of data from decoded rootfiles can be generated by: | ||
[21] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/rootfiles/ | [21] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/rootfiles/ | ||
Line 111: | Line 113: | ||
root [3] T->Draw("TDC18-TDC17") | root [3] T->Draw("TDC18-TDC17") | ||
root [4] T->Draw("RingScaler_CH4:Entry$","","*l") | root [4] T->Draw("RingScaler_CH4:Entry$","","*l") | ||
+ | |||
* There are several additional macros that may used for the analysis (with some modification). All are in opsmdaq1 in the directory: | * There are several additional macros that may used for the analysis (with some modification). All are in opsmdaq1 in the directory: | ||
'''/work/idaq/Mott/Analysis/macro/''' | '''/work/idaq/Mott/Analysis/macro/''' | ||
+ | |||
* For example, to plot the Mott FADC Pedestals: | * For example, to plot the Mott FADC Pedestals: | ||
[102] idaq@opsmdaq1 > root | [102] idaq@opsmdaq1 > root | ||
Line 120: | Line 124: | ||
7154 | 7154 | ||
root [2] t.Loop() | root [2] t.Loop() | ||
+ | |||
* To calculate Mott Asymmetries: | * To calculate Mott Asymmetries: | ||
[102] idaq@opsmdaq1 > root | [102] idaq@opsmdaq1 > root | ||
Line 127: | Line 132: | ||
7154 | 7154 | ||
root [2] t.Loop() | root [2] t.Loop() | ||
+ | |||
* To calculate charge asymmetry from a Mott_Sample run, follow these steps: | * To calculate charge asymmetry from a Mott_Sample run, follow these steps: | ||
Line 139: | Line 145: | ||
root [2] t.Loop() | root [2] t.Loop() | ||
− | * For a scalar run to adjust PITA using the BCM | + | * For a scalar run to adjust PITA using the BCM: |
root [3] .L ChargeAsym.C | root [3] .L ChargeAsym.C | ||
Line 146: | Line 152: | ||
RunNumber | RunNumber | ||
root [3] t.Loop() | root [3] t.Loop() | ||
+ | |||
+ | * To print Run Time, Detector Triggers, Accepted Triggers, and Average Beam Current | ||
+ | |||
+ | root [0] .L TimeScaler.C | ||
+ | root [1] TimeScaler t | ||
+ | Enter Run Number: | ||
+ | 8179 | ||
+ | root [2] t.Loop(); | ||
+ | RunTime = 343.624 s | ||
+ | Detector Triggers = 1331454 | ||
+ | Accepted Triggers = 1016762 | ||
+ | Scalers Charge = 80959509 | ||
+ | Average Beam Current = 2.12783 uA | ||
+ | 8179 343.624 1331454 1016762 2.12783 | ||
+ | |||
* ''Mott Summary'' (April 2012) [[Media:Mott_Summary_April2012.pdf]] [[Media:Mott_Summary_April2012.ppt]] | * ''Mott Summary'' (April 2012) [[Media:Mott_Summary_April2012.pdf]] [[Media:Mott_Summary_April2012.ppt]] |
Revision as of 10:49, 25 February 2015
Data Files
CODA writes the data to this disk: /data/mott
Decode a Run
You must log on to the idaq account of the opsmdaq0 machine, a la:
[21] user_name@opsl01 > ssh -Y idaq@opsmdaq0
To then decode a run (turn it from a .dat file to a .root file which is more useable), first go to the proper directory:
[22] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/decoder/
Then a):
[23] idaq@opsmdaq0 > ./fadc_decode_Source fullpath/filename [Option(s)]
Or b):
[23] idaq@opsmdaq0 > decode.pl RunNumber [Option(s)]
Output ROOTfiles go to:
cd /work/idaq/Mott/Analysis/rootfiles/
Usage = ./decode.pl RunNumber -Ped -Debug -Trig x -PedFile x -S1 -Farm -Del x -960Hz -LVoff file or run# -Outputs directory
-Ped : Pedestal subtraction active with default files -Debug : Debugging mode, saves all channels to ntuple -Trig x : x=1=Detector, x=2=nT_Settle -PedFile x : Pedestal subtraction with a specific file -S1 : Inclusion of scaler S1 data -Farm : Farm option, NO pedestal subtraction -Del x : x=0 No Delay, x=8 8-window delay -960Hz : Frequency set to 960Hz, default is 30Hz -LVoff : PMT Low voltage OFF, set to ON by default -Outputs : Set the output directory for the .root and .txt files
to check on the TDC profiles, cd as above, the command
[49] idaq@opsmdaq0 > root Mott_Sample_####_0.root
for the proper output filename from the decoder
command for opening "Root object browser"
root [1] new TBrowser
follow paths to Mott_Sample_####_0.root T;4 scroll down to TDC17 or TDC18 as desired to generate plot
Analysis Scripts
The new Full Analysis script is being maintained on the opsmdaq0 machine and is version controlled using git. To use the current version log onto idaq@opsmdaq0, then following these steps:
[60] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/macro/Full_Analysis/ [61] idaq@opsmdaq0 > ./FullAnalysis [RunNumber] (TDC cuts will be applied) [62] idaq@opsmdaq0 > ./FullAnalysis [RunNumber] --499 (Will not apply TDC cuts)
Energy Cuts: in file MottAnalysis.C // Get Energy Cuts Double_t fitParameters[5]; for(Int_t i=0; i<4; i++) { fitE[i]->GetParameters(fitParameters); energyLowCuts.push_back(fitParameters[3]-fitParameters[4]); // mean - sigma energyHighCuts.push_back(fitParameters[3]+ 2.0*fitParameters[4]); // mean + 2*sigma }
Time-of-Flight Cuts: in file MottAnalysis.C // Get ToF Cuts for(Int_t i=0; i<4; i++) { timeLowCuts.push_back(15.0); timeHighCuts.push_back(85.0); } Note: as of now, all four detectors have the same time cuts, this can be changed later
Full_Analysis generates few txtfiles [1] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/macro/TextFiles/ Raw files (No timing or Helicity cuts are applied): Mott_E_[RunNumber]_0.txt Mott_ToF_[RunNumber]_0.txt In each file, the first column is bin number then LEFT, RIGHT, UP, and DOWN values. Txtfiles with timing or Helicity cuts applied: Mott_E_pm_8119_0.txt: bin number then LEFT_p, LEFT_m, RIGHT_p, RIGHT_m, UP_p, UP_m, and DOWN_p, DOWN_m values. Mott_ToF_c_8119_0.txt: bin number then LEFT, RIGHT, UP, and DOWN ToF values.
This will tell you useful things like the asymmetry and detector rates as well as make a bunch of plots that go to:
[48] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/macro/Figures/
to view figures
[49] idaq@opsmdaq0 > eog *7899*
To output all of the printed information to a easily parsable text file try:
[61] idaq@opsmdaq0 > ./FullAnalysis [RunNumber] > ../TextFiles/Analysis_[RunNumber].txt
Additional information about the script can be found in the README file maintained in the same directory as the script.
Additional Analysis Tools
- ROOT provides a utility that generates a skeleton class designed to loop over the entries of the tree:
root [0] TFile *f = new TFile("Mott_Sample_7231_0.root"); root [1] T->MakeClass("MyClass") Files: MyClass.h and MyClass.C generated from Tree: T
- Simple plots of data from decoded rootfiles can be generated by:
[21] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/rootfiles/ [22] idaq@opsmdaq0 > root -l Mott_Sample_[RunNumber]_[SegmentNumber].root root [1] T->Draw("Sample_CH1:Iteration$","","*l",10,100) root [2] T->Draw("RingScaler_CH4:Entry$","","*l",100,1000) root [3] T->Draw("TDC18-TDC17") root [4] T->Draw("RingScaler_CH4:Entry$","","*l")
- There are several additional macros that may used for the analysis (with some modification). All are in opsmdaq1 in the directory:
/work/idaq/Mott/Analysis/macro/
- For example, to plot the Mott FADC Pedestals:
[102] idaq@opsmdaq1 > root root [0] .L FADC_Ped.C root [1] FADC_Ped t Enter Run Number: 7154 root [2] t.Loop()
- To calculate Mott Asymmetries:
[102] idaq@opsmdaq1 > root root [0] .L MottAsym.C root [1] MottAsym t Enter Run Number: 7154 root [2] t.Loop()
- To calculate charge asymmetry from a Mott_Sample run, follow these steps:
[60] idaq@opsmdaq0 > cd /work/idaq/Mott/Analysis/macro/ [61] idaq@opsmdaq0 > root
root [0] .L Charge_Sample.C root [1] Charge_Sample t Enter Run Number: RunNumber root [2] t.Loop()
- For a scalar run to adjust PITA using the BCM:
root [3] .L ChargeAsym.C root [3] ChargeAsym t Enter Run Number: RunNumber root [3] t.Loop()
- To print Run Time, Detector Triggers, Accepted Triggers, and Average Beam Current
root [0] .L TimeScaler.C root [1] TimeScaler t Enter Run Number: 8179 root [2] t.Loop(); RunTime = 343.624 s Detector Triggers = 1331454 Accepted Triggers = 1016762 Scalers Charge = 80959509 Average Beam Current = 2.12783 uA 8179 343.624 1331454 1016762 2.12783
- Mott Summary (April 2012) Media:Mott_Summary_April2012.pdf Media:Mott_Summary_April2012.ppt
- PEPPo Electron Mott Results (July 2013) Media:PEPPo_Mott_Talk.pdf Media:PEPPo_Mott_Talk.pptx
Cross-ratio Method - Advantages and False Asymmetries
This is the paper that is frequently referenced when discussing the cross-ratio method to calculate asymmetries: G. G. Ohlsen, Jr. and P. W. Keaton, Nucl. Instrum. Meth. 109, 41 (1973) Media:Cross_ratio.pdf. On page 3, the advantages of the this method are listed.
In this cross-ratio method, the Mott asymmetry is independent (cancel to all orders) of relative detector efficiencies and solid angles, of relative integrated charge (charge asymmetry), and of target thickness variations. However, differences in the beam polarization for the two helicity states cancel to first order.
Dead time in the counting equipment may be either common to the two channels or not, depending on the equipment used. If it is not common, a correction is required. For the Mott, the dead time is caused by the slow DAQ, which is common to all our detectors - no correction is required. This is why even when we have large dead times, we still measure the same asymmetry as the old Mott DAQ.
Section 3.3 of the paper talks about misalignment errors and the effect of detectors having different scattering angle. The Mott Analysing Power depends on the scattering angle, so false asymmetries from misalignments may only cancel to first order - see paper for detailed discussion.
MSS and Farm
- From jlabl2, do: ssh ifarm to access ifarm1101, the interactive front end for the CentOS 6.2 farm.
- MSS: The archive location of the Stub Files is: /mss/accel/peppo/raw
Old files (before May 2012, Run Number < 4,000): /mss/accel/positron/PEPPo or /mss/accel/positron/mott
- To get files from MSS:
jget /mss/accel/peppo/raw/Mott_Sample_7231.dat.0 The file will be copied from tape to the cache area: /cache/mss/accel/peppo/raw
- Work Disk: /work/accel/peppo
- Erica Fanchini is keeping the latest decoder at: /work/accel/peppo/Analysis/decoder/
- Scratch Disk: /scratch