24   double limits[23] = { 0,     500,   1000,  1500,  2000,  2500, 
 
   25             3000,  4000,  5000,  6000,  7000,  8000, 
 
   26             10000, 12000, 14000, 16000, 20000, 25000, 
 
   27             30000, 35000, 40000, 50000, 60000 };
 
   32   double limits[13] = { 0,     1000,  2000,  3000,  5000,  7000,  
 
   33             10000, 14000, 20000, 30000, 40000, 60000, 100000 };
 
   35   double limits2[24] = { 0,     1000,  2000,  3000,  5000,  7000, 8000, 8500, 9000, 9500,
 
   36              10000, 10500, 11000, 11500, 12000, 12500, 13000, 13500, 14000, 
 
   37              20000, 30000, 40000, 60000, 100000 };
 
   40   double limits2[18] = { 0,     1000,  2000,  3000,  5000,  7000,
 
   41              8000,  9000, 10000, 11000, 12000, 13000, 
 
   42              14000, 20000, 30000, 40000, 60000, 100000 };
 
   44   std::vector<double> limits;
 
   45   for ( 
int i=0 ; 
i<18 ; 
i++ ) limits.push_back(limits2[
i]);
 
   49   effvsPT  = 
new Effplot( 
"efficiency vs pt",  limits );
 
   50   effvseta = 
new Effplot( 
"efficiency vs eta", 8, -3,  3);
 
   51   effvsphi = 
new Effplot( 
"efficiency vs phi", 8, -
M_PI, 
M_PI );
 
   53   effvsd0  = 
new Effplot( 
"efficiency vs d0", 200, -200, 200 );
 
   56   iptvipt  = 
new Resplot( 
"resolution ipt vs ipt",  20, -0.2, 0.2,   21, -0.01, 0.01);
 
   58   ptvpt   = 
new Resplot( 
"resolution pt vs pt",   limits,   41, -10,   10   );
 
   59   phivpt  = 
new Resplot( 
"resolution phi vs pt",  limits,   41, -0.01, 0.01 );
 
   60   etavpt  = 
new Resplot( 
"resolution eta vs pt",  limits,   41, -0.01,  0.01  );
 
   61   z0vpt   = 
new Resplot( 
"resolution z0 vs pt",   limits,   41, -1,    1  );
 
   62   d0vpt   = 
new Resplot( 
"resolution d0 vs pt",   limits,   61, -0.3,  0.3  );
 
   64   ptveta   = 
new Resplot( 
"resolution pt vs eta",   12, -3, 3,   41, -10, 10);
 
   65   iptveta  = 
new Resplot( 
"resolution ipt vs eta",  12, -3, 3,   41, -0.01, 0.01);
 
   66   phiveta  = 
new Resplot( 
"resolution phi vs eta",  12, -3, 3,   41, -0.01, 0.01);
 
   67   etaveta  = 
new Resplot( 
"resolution eta vs eta",  12, -3, 3,   41, -0.01, 0.01);
 
   68   z0veta   = 
new Resplot( 
"resolution z vs eta",    12, -3, 3,   41, -1, 1);
 
   70   z0vz0  = 
new Resplot( 
"resolution z vs z",    40, -200, 200,  41, -1, 1);
 
   71   d0vd0  = 
new Resplot( 
"resolution d0 vs d0",  20, -5,  5,     61, -0.3, 0.3); 
 
   79                    const std::vector<TIDA::Track*>& ,
 
   82   std::cout << 
"execute() " << 
name() << std::endl;
 
   95   for ( 
unsigned i=reftracks.size() ; 
i-- ;  ) { 
 
  104      std::cout << 
"\t\tSUTT Analysis " << 
name() << 
"\t" << 
i << 
" " << *reftracks[
i] << 
" -> ";
 
  108     std::cout << *matchedreco << std::endl;
 
  111     double pTt = reftracks[
i]->
pT()/1000; 
 
  112     double pTr = matchedreco->
pT()/1000;   
 
  115     effvsPT->Fill(  reftracks[
i]->
pT() );
 
  116     effvseta->Fill( reftracks[
i]->
eta() );
 
  117     effvsphi->Fill( reftracks[
i]->
phi() );
 
  118     effvsd0->Fill( reftracks[
i]->
a0() );
 
  122     iptvipt->Fill( 1/pTt, 1/pTt-1/pTr );
 
  123     ptvpt->Fill( reftracks[
i]->
pT(), pTt-pTr );
 
  125     phivpt->Fill( reftracks[
i]->
pT(), reftracks[
i]->
phi()-matchedreco->
phi() );
 
  126     etavpt->Fill( reftracks[
i]->
pT(), reftracks[
i]->
eta()-matchedreco->
eta() );
 
  127     z0vpt->Fill( reftracks[
i]->
pT(),  reftracks[
i]->
z0()-matchedreco->
z0() );
 
  128     d0vpt->Fill( reftracks[
i]->
pT(), reftracks[
i]->
a0()-matchedreco->
a0() );
 
  130     ptveta->Fill( reftracks[
i]->
eta(), pTt-pTr); 
 
  131     iptveta->Fill( reftracks[
i]->
eta(), 1/pTt-1/pTr); 
 
  132     phiveta->Fill( reftracks[
i]->
eta(), reftracks[
i]->
phi()-matchedreco->
phi() );
 
  133     etaveta->Fill( reftracks[
i]->
eta(), reftracks[
i]->
eta()-matchedreco->
eta() );
 
  134     z0veta->Fill( reftracks[
i]->
eta(), reftracks[
i]->
z0()-matchedreco->
z0() );
 
  136     z0vz0->Fill( reftracks[
i]->
z0(), reftracks[
i]->
z0()-matchedreco->
z0() );
 
  137     d0vd0->Fill( reftracks[
i]->
a0(), reftracks[
i]->
a0()-matchedreco->
a0() );
 
  140     std::cout << 
"SUTT pt res "  
  141           << 
"\tpt="    << reftracks[
i]->pT() 
 
  143           << 
"\t1/pTt=" << 1/pTt 
 
  144           << 
"\tDpT="   << pTt-pTr  
 
  145           << 
"\tD1/pT=" << 1/pTt-1/pTr
 
  150     std::cout << 
" NULL" << std::endl;
 
  153         effvsPT->FillTrueOnly(  reftracks[
i]->
pT() );
 
  154     effvseta->FillTrueOnly( reftracks[
i]->
eta() );
 
  155     effvsphi->FillTrueOnly( reftracks[
i]->
phi() );
 
  156     effvsd0->FillTrueOnly( reftracks[
i]->
a0() );
 
  170   std::cout << 
"SUTT TrackEfficiency::finalise() " << 
name() << std::endl;
 
  177   effvseta->Finalise(Effplot::FitQuad);
 
  178   effvsphi->Finalise(Effplot::FitQuad);
 
  179   effvsd0->Finalise(Effplot::FitQuad);