Example program to plot oscillogram from 2D oscillations probability table.  
More...
#include <iostream>
#include <iomanip>
#include <string>
#include "JLang/JVectorize.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
#include "JOscProb/JOscChannel.hh"
#include "JOscProb/JOscParameters.hh"
#include "JOscProb/JOscProbToolkit.hh"
#include "JOscProb/JOscProbInterpolator2D.hh"
#include "TFile.h"
#include "TH2D.h"
 
Go to the source code of this file.
 | 
| int  | main (int argc, char **argv) | 
|   | 
Example program to plot oscillogram from 2D oscillations probability table. 
- Author
 - bjung 
 
Definition in file JPlotOscProbInterpolation2D.cc.
 
      
        
          | int main  | 
          ( | 
          int  | 
          argc,  | 
        
        
           | 
           | 
          char **  | 
          argv  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 26 of file JPlotOscProbInterpolation2D.cc.
   42     zap[
'f'] = 
make_field(inputFile,  
"2D oscillation probability table file");
 
   44     zap[
'x'] = 
make_field(
X,          
"histogram binning in energy [GeV]"); 
 
   45     zap[
'y'] = 
make_field(
Y,          
"histogram binning in cos(theta)");   
 
   46     zap[
'#'] = 
make_field(channel,    
"Oscillation channel")    = JOscChannel(JOscChannel::MUON, JOscChannel::MUON, JOscChannel::ANTIPARTICLE);
 
   51   catch (
const exception& error) {
 
   52     FATAL(error.what() << endl);
 
   56   TH2D h0(
"h0", 
"; energy [GeV]; cos(#theta)", 
X.size()-1, &
X[0], 
Y.size()-1, &
Y[0]);
 
   58   const JOscProbTable2D<>        g2(inputFile.c_str());
 
   59   const JOscProbInterpolator2D<> interpolator(&g2);
 
   62          RIGHT(15) << 
"cos(theta)"   <<
 
   63          RIGHT(15) << 
"P"            << endl);
 
   65   for (Int_t ix = 1; ix <= h0.GetNbinsX(); ++ix) {
 
   66     for (Int_t iy = 1; iy <= h0.GetNbinsY(); ++iy) {
 
   68       const Double_t 
energy = h0.GetXaxis()->GetBinCenter(ix);
 
   69       const Double_t costh  = h0.GetYaxis()->GetBinCenter(iy);
 
   71       const Double_t prob   = interpolator(channel, energy, costh);
 
   74              FIXED(15,3) << costh  <<
 
   77       h0.SetBinContent(ix, iy, prob);
 
Utility class to parse command line options. 
 
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
 
Auxiliary data structure for floating point format specification. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
then for APP in event gandalf start energy
 
no fit printf nominal n $STRING awk v X
 
#define DEBUG(A)
Message macros.