48   using namespace KM3NETDAQ;
 
   51   typedef JTriggeredFileScanner_t::multi_pointer_type       multi_pointer_type;
 
   57   size_t                         numberOfPrefits;                         
 
   64     JParser<> zap(
"Program to histogram fit results from reconstructed data.");
 
   68     zap[
'n'] = 
make_field(numberOfEvents)      = JLimit::max();
 
   81   const double rad_to_deg   =  180/M_PI;
 
   82   const double R_m          =  700.0;
 
   83   const int    MAX_OVERLAYS = 200;
 
   84   const double zenith_min   = -1.0;
 
   85   const double zenith_max   = 1.0;
 
   86   const double MAX_TRIGGERED_HITS   = 400;
 
   89   TH1D job(
"job", NULL, 100,   0.5, 100.5);
 
   90   TH1D hz  (
"hz",   
"; cos(#theta)"                  , 21 , zenith_min, zenith_max);                                                  
 
   91   TH1D ho  (
"ho",   
"; #overlays"                    , MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);                             
 
   92   TH2D hzo (
"hzo",  
"; cos(#theta) ; #overlays"      , 21, zenith_min, zenith_max, MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5);
 
   93   TH2D hxy (
"hxy",  
"; x position ; y position"      , 201, -R_m, R_m, 201, -R_m, R_m);               
 
   94   TH1D hn  (
"hn",  
";  # of triggered hits"          , MAX_TRIGGERED_HITS, -0.5, MAX_TRIGGERED_HITS-0.5);                                               
 
   95   TH1D hN  (
"hN",  
";  JEnergy # of hits"            , MAX_TRIGGERED_HITS, -0.5, MAX_TRIGGERED_HITS-0.5);
 
   96   TH1D hq  (
"hq",   
"; quality parameter"            , 100, -200.0, 800);
 
   97   TH1D hb0 (
"hb0",  
"; log(beta0)"                   , 60, -2, 3.5);                                               
 
   98   TH1D he  (
"he",   
"; log(Ereco [GeV])"             , 75, -2, 4);                                                 
 
   99   TH2D heo (
"heo",  
"; log(Ereco [GeV]) ; #overlays" , 75, -2, 4, MAX_OVERLAYS , -0.5, MAX_OVERLAYS-0.5); 
 
  100   TH2D hzq (
"hzq",  
"; cos(#theta); quality"         , 21, zenith_min, zenith_max, 50, -10.0, 500.0);                    
 
  101   TH2D hze (
"hze",  
"; cos(#theta); log(Ereco [GeV])", 21, zenith_min, zenith_max, 75, -2, 4);                    
 
  102   TH2D hzb0(
"hzb0", 
"; cos(#theta); log(beta0)"      , 21, zenith_min, zenith_max, 60, -2, 3.5);     
 
  104   while (inputFile.hasNext()) {               
 
  106     STATUS(
"event: " << setw(10) << inputFile.getCounter() << 
'\r'); 
DEBUG(endl); 
 
  108     multi_pointer_type ps = inputFile.next();
 
  117       JEvt::iterator __end = partition(evt->begin(), evt->end(), 
JHistory::is_event(application));
 
  119       if (evt->begin() == __end) {
 
  123       if (numberOfPrefits > 0) {        
 
  125         JEvt::iterator __q = __end;
 
  127         advance(__end = evt->begin(), min(numberOfPrefits, (
size_t) 
distance(evt->begin(), __q)));
 
  136       if (numberOfPrefits > 0) {
 
  137         advance(__end = evt->begin(), min(numberOfPrefits, evt->size()));
 
  140       for (JEvt::const_iterator fit = evt->begin(); fit != __end; ++fit) {
 
  148         hz .Fill(track.
getDZ());
 
  149         hzo.Fill(track.
getDZ(), overlays) ;
 
  150         hxy.Fill(track.
getX(), track.
getY());
 
  151         hq .Fill(fit->getQ());
 
  152         hzq.Fill(track.
getDZ(), fit->getQ() );
 
  162         const double Efit  = fit->getE();
 
  163          he .Fill(log10(Efit));
 
  164          hze.Fill(track.
getDZ(), log10(Efit) );
 
  165          heo.Fill(log10(Efit), overlays );
 
  169   STATUS(
"Number of events input             " << setw(8) << right << job.GetBinContent(1) << endl);
 
static const int JMUONSTART
 
Utility class to parse command line options. 
 
JTrack3E getTrack(const Trk &track)
Get track. 
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance. 
 
General purpose sorter of fit results. 
 
Auxiliary class to synchronously read DAQ events and Monte Carlo events (and optionally other events)...
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
unsigned int size() const 
Get number of hits. 
 
Auxiliary class for defining the range of iterations of objects. 
 
static const int JMUONPREFIT
 
static const int JENERGY_NUMBER_OF_HITS
number of hits from JEnergy.cc 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
Auxiliary class to test history. 
 
static const int JMUONGANDALF
 
static const int JGANDALF_BETA0_RAD
KM3NeT Data Definitions v1.3.1-43-g5270ad8 https://git.km3net.de/common/km3net-dataformat. 
 
double getY() const 
Get y position. 
 
Reconstruction type dependent comparison of track quality. 
 
counter_type advance(counter_type &counter, const counter_type value, const counter_type limit=std::numeric_limits< counter_type >::max())
Advance counter. 
 
static const int JMUONSIMPLEX
 
double getX() const 
Get x position. 
 
const JLimit & getLimit() const 
Get limit. 
 
double getDZ() const 
Get z direction. 
 
static const int JMUONENERGY
 
#define DEBUG(A)
Message macros.