Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PDFReader Class Reference

#include <PDFReader.h>

List of all members.

Public Member Functions

 PDFReader ()
 PDFReader (const char *name)
 ~PDFReader ()
Double_t GetProb_f_sig (NueAnaReader *nueana)
Double_t GetProb_f_bg (NueAnaReader *nueana)
Double_t GetProb_q_sig (NueAnaReader *nueana)
Double_t GetProb_q_bg (NueAnaReader *nueana)
Double_t GetProb_y_sig (NueAnaReader *nueana)
Double_t GetProb_y_bg (NueAnaReader *nueana)
Double_t GetProb_mfqm_sig (NueAnaReader *nueana)
Double_t GetProb_mfqm_bg (NueAnaReader *nueana)
Double_t GetInt_f_sig (NueAnaReader *nueana)
Double_t GetInt_f_bg (NueAnaReader *nueana)
void Setycut (Float_t y_cut_in)
Double_t GetProb_f_sig (NueRecord *nuerec)
Double_t GetProb_f_bg (NueRecord *nuerec)
Double_t GetProb_q_sig (NueRecord *nuerec)
Double_t GetProb_q_bg (NueRecord *nuerec)
Double_t GetProb_y_sig (NueRecord *nuerec)
Double_t GetProb_y_bg (NueRecord *nuerec)
Double_t GetProb_mfqm_sig (NueRecord *nuerec)
Double_t GetProb_mfqm_bg (NueRecord *nuerec)
Double_t GetInt_f_sig (NueRecord *nuerec)
Double_t GetInt_f_bg (NueRecord *nuerec)

Private Attributes

std::vector< TH2 * > fHist
Double_t minPDFx [8]
Double_t maxPDFx [8]
Double_t minPDFy [8]
Double_t maxPDFy [8]
Float_t y_cut


Constructor & Destructor Documentation

PDFReader::PDFReader  ) 
 

Definition at line 16 of file PDFReader.cxx.

References fHist, and y_cut.

00016                      : fHist(8){
00017 
00018   for(UInt_t i=0;i<8;++i) fHist[i]=0;
00019   y_cut=1.0;
00020 
00021 }

PDFReader::PDFReader const char *  name  ) 
 

Definition at line 23 of file PDFReader.cxx.

References fHist, gSystem(), maxPDFx, maxPDFy, minPDFx, minPDFy, and y_cut.

00023                                      : fHist(8){
00024 
00025   for(UInt_t i=0;i<8;++i) fHist[i]=0;
00026 
00027   //Get file (expand first to resolve environment variables)
00028   char *expanded_name = gSystem->ExpandPathName(name);
00029   TFile file_pdf(expanded_name,"READ");
00030   delete expanded_name;
00031 
00032   //Get PDFs
00033   fHist[0] = dynamic_cast<TH2*>(file_pdf.Get("h_f_sig"));
00034   fHist[1] = dynamic_cast<TH2*>(file_pdf.Get("h_f_bg"));
00035   fHist[2] = dynamic_cast<TH2*>(file_pdf.Get("h_q_sig"));
00036   fHist[3] = dynamic_cast<TH2*>(file_pdf.Get("h_q_bg"));
00037   fHist[4] = dynamic_cast<TH2*>(file_pdf.Get("h_y_sig"));
00038   fHist[5] = dynamic_cast<TH2*>(file_pdf.Get("h_y_bg"));
00039   fHist[6] = dynamic_cast<TH2*>(file_pdf.Get("h_mfqm_sig"));
00040   fHist[7] = dynamic_cast<TH2*>(file_pdf.Get("h_mfqm_bg"));
00041 
00042   //Get mins and maxs
00043   for(UInt_t ii=0;ii<8;++ii){
00044     assert(fHist[ii]);
00045     fHist[ii]->SetDirectory(0);
00046     minPDFx[ii]=fHist[ii]->GetXaxis()->GetXmin();
00047     maxPDFx[ii]=fHist[ii]->GetXaxis()->GetXmax();
00048     minPDFy[ii]=fHist[ii]->GetYaxis()->GetXmin();
00049     maxPDFy[ii]=fHist[ii]->GetYaxis()->GetXmax();
00050   }
00051   
00052   y_cut=1.0;
00053 
00054 }

PDFReader::~PDFReader  ) 
 

Definition at line 56 of file PDFReader.cxx.

00056 {}


Member Function Documentation

Double_t PDFReader::GetInt_f_bg NueRecord nuerec  ) 
 

Definition at line 347 of file PDFReader.cxx.

References fHist, maxPDFy, minPDFy, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

00347                                                 {
00348   
00349   Double_t theint=0;
00350   Float_t Ereco=nuerec->srevent.phNueGeV;
00351   if(Ereco > minPDFy[1] && Ereco < maxPDFy[1]){
00352     Int_t elbin=fHist[1]->ProjectionY()->FindBin(nuerec->srevent.phNueGeV);    
00353     theint=fHist[1]->ProjectionX("",elbin,elbin)->Integral();
00354   }
00355   return theint;
00356 
00357 }

Double_t PDFReader::GetInt_f_bg NueAnaReader nueana  ) 
 

Definition at line 194 of file PDFReader.cxx.

References fHist, maxPDFy, minPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

Referenced by MCNNpid::GetMCNNpid().

00194                                                    {
00195   
00196   Double_t theint=0;
00197   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00198   if(Ereco > minPDFy[1] && Ereco < maxPDFy[1]){
00199     Int_t elbin=fHist[1]->ProjectionY()->FindBin(nueana->nuerecord->srevent.phNueGeV);    
00200     theint=fHist[1]->ProjectionX("",elbin,elbin)->Integral();
00201   }
00202   return theint;
00203 
00204 }

Double_t PDFReader::GetInt_f_sig NueRecord nuerec  ) 
 

Definition at line 334 of file PDFReader.cxx.

References fHist, maxPDFy, minPDFy, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

00334                                                  {
00335    
00336   Double_t theint=0;
00337   Float_t Ereco=nuerec->srevent.phNueGeV;
00338   if(Ereco > minPDFy[0] && Ereco < maxPDFy[0]){
00339     Int_t elbin=fHist[0]->ProjectionY()->FindBin(nuerec->srevent.phNueGeV);
00340     theint=fHist[0]->ProjectionX("",elbin,elbin)->Integral();
00341   }
00342   return theint;
00343 
00344 }

Double_t PDFReader::GetInt_f_sig NueAnaReader nueana  ) 
 

Definition at line 181 of file PDFReader.cxx.

References fHist, maxPDFy, minPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

Referenced by MCNNpid::GetMCNNpid().

00181                                                     {
00182    
00183   Double_t theint=0;
00184   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00185   if(Ereco > minPDFy[0] && Ereco < maxPDFy[0]){
00186     Int_t elbin=fHist[0]->ProjectionY()->FindBin(nueana->nuerecord->srevent.phNueGeV);
00187     theint=fHist[0]->ProjectionX("",elbin,elbin)->Integral();
00188   }
00189   return theint;
00190 
00191 }

Double_t PDFReader::GetProb_f_bg NueRecord nuerec  ) 
 

Definition at line 229 of file PDFReader.cxx.

References fHist, MCNNVars::fracCC, maxPDFx, maxPDFy, NueRecord::mcnnv, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

00229                                                  {
00230 
00231   Float_t fracCC=nuerec->mcnnv.fracCC;
00232   Float_t Ereco=nuerec->srevent.phNueGeV;
00233   Double_t proba = fHist[1]->GetBinContent(fHist[1]->FindBin(fracCC,Ereco));
00234 
00235   if(proba==0 || fracCC < minPDFx[1] || fracCC > maxPDFx[1] || Ereco < minPDFy[1] || Ereco > maxPDFy[1]){
00236     proba=1.0;
00237   }
00238 
00239   return proba;
00240 
00241 }

Double_t PDFReader::GetProb_f_bg NueAnaReader nueana  ) 
 

Definition at line 76 of file PDFReader.cxx.

References fHist, NueAnaReader::GetfracCCy(), maxPDFx, maxPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and y_cut.

Referenced by MCNNpid::GetMCNNpid().

00076                                                     {
00077 
00078   Float_t fracCC=nueana->GetfracCCy(y_cut);
00079   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00080   Double_t proba = fHist[1]->GetBinContent(fHist[1]->FindBin(fracCC,Ereco));
00081 
00082   if(proba==0 || fracCC < minPDFx[1] || fracCC > maxPDFx[1] || Ereco < minPDFy[1] || Ereco > maxPDFy[1]){
00083     proba=1.0;
00084   }
00085 
00086   return proba;
00087 
00088 }

Double_t PDFReader::GetProb_f_sig NueRecord nuerec  ) 
 

Definition at line 214 of file PDFReader.cxx.

References fHist, MCNNVars::fracCC, maxPDFx, maxPDFy, NueRecord::mcnnv, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

00214                                                   {
00215 
00216   Float_t fracCC=nuerec->mcnnv.fracCC;
00217   Float_t Ereco=nuerec->srevent.phNueGeV;
00218   Double_t proba = fHist[0]->GetBinContent(fHist[0]->FindBin(fracCC,Ereco));
00219 
00220   if(proba==0 || fracCC < minPDFx[0] || fracCC > maxPDFx[0] || Ereco < minPDFy[0] || Ereco > maxPDFy[0]){
00221     proba=0.000001;
00222   }
00223 
00224   return proba;
00225 
00226 }

Double_t PDFReader::GetProb_f_sig NueAnaReader nueana  ) 
 

Definition at line 61 of file PDFReader.cxx.

References fHist, NueAnaReader::GetfracCCy(), maxPDFx, maxPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and y_cut.

Referenced by MCNNpid::GetMCNNpid().

00061                                                      {
00062 
00063   Float_t fracCC=nueana->GetfracCCy(y_cut);
00064   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00065   Double_t proba = fHist[0]->GetBinContent(fHist[0]->FindBin(fracCC,Ereco));
00066 
00067   if(proba==0 || fracCC < minPDFx[0] || fracCC > maxPDFx[0] || Ereco < minPDFy[0] || Ereco > maxPDFy[0]){
00068     proba=0.000001;
00069   }
00070 
00071   return proba;
00072 
00073 }

Double_t PDFReader::GetProb_mfqm_bg NueRecord nuerec  ) 
 

Definition at line 319 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, MCNNVars::meanfracQmatched, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

00319                                                     {
00320 
00321   Float_t fracCC=nuerec->mcnnv.meanfracQmatched;
00322   Float_t Ereco=nuerec->srevent.phNueGeV;
00323   Double_t proba = fHist[7]->GetBinContent(fHist[7]->FindBin(fracCC,Ereco));
00324 
00325   if(proba==0 || fracCC < minPDFx[7] || fracCC > maxPDFx[7] || Ereco < minPDFy[7] || Ereco > maxPDFy[7]){
00326     proba=1.0;
00327   }
00328 
00329   return proba;
00330 
00331 }

Double_t PDFReader::GetProb_mfqm_bg NueAnaReader nueana  ) 
 

Definition at line 166 of file PDFReader.cxx.

References fHist, NueAnaReader::GetMeanFracQMatched(), maxPDFx, maxPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and y_cut.

Referenced by MCNNpid::GetMCNNpid().

00166                                                        {
00167 
00168   Float_t fracCC=nueana->GetMeanFracQMatched(y_cut);
00169   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00170   Double_t proba = fHist[7]->GetBinContent(fHist[7]->FindBin(fracCC,Ereco));
00171 
00172   if(proba==0 || fracCC < minPDFx[7] || fracCC > maxPDFx[7] || Ereco < minPDFy[7] || Ereco > maxPDFy[7]){
00173     proba=1.0;
00174   }
00175 
00176   return proba;
00177 
00178 }

Double_t PDFReader::GetProb_mfqm_sig NueRecord nuerec  ) 
 

Definition at line 304 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, MCNNVars::meanfracQmatched, ANtpEventInfoNue::phNueGeV, and NueRecord::srevent.

00304                                                      {
00305 
00306   Float_t fracCC=nuerec->mcnnv.meanfracQmatched;
00307   Float_t Ereco=nuerec->srevent.phNueGeV;
00308   Double_t proba = fHist[6]->GetBinContent(fHist[6]->FindBin(fracCC,Ereco));
00309 
00310   if(proba==0 || fracCC < minPDFx[6] || fracCC > maxPDFx[6] || Ereco < minPDFy[6] || Ereco > maxPDFy[6]){
00311     proba=0.000001;
00312   }
00313 
00314   return proba;
00315 
00316 }

Double_t PDFReader::GetProb_mfqm_sig NueAnaReader nueana  ) 
 

Definition at line 151 of file PDFReader.cxx.

References fHist, NueAnaReader::GetMeanFracQMatched(), maxPDFx, maxPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and y_cut.

Referenced by MCNNpid::GetMCNNpid().

00151                                                         {
00152 
00153   Float_t fracCC=nueana->GetMeanFracQMatched(y_cut);
00154   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00155   Double_t proba = fHist[6]->GetBinContent(fHist[6]->FindBin(fracCC,Ereco));
00156 
00157   if(proba==0 || fracCC < minPDFx[6] || fracCC > maxPDFx[6] || Ereco < minPDFy[6] || Ereco > maxPDFy[6]){
00158     proba=0.000001;
00159   }
00160 
00161   return proba;
00162 
00163 }

Double_t PDFReader::GetProb_q_bg NueRecord nuerec  ) 
 

Definition at line 259 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, ANtpEventInfoNue::phNueGeV, MCNNVars::qtot, and NueRecord::srevent.

00259                                                  {
00260 
00261   Float_t fracCC=nuerec->mcnnv.qtot;
00262   Float_t Ereco=nuerec->srevent.phNueGeV;
00263   Double_t proba = fHist[3]->GetBinContent(fHist[3]->FindBin(fracCC,Ereco));
00264 
00265   if(proba==0 || fracCC < minPDFx[3] || fracCC > maxPDFx[3] || Ereco < minPDFy[3] || Ereco > maxPDFy[3]){
00266     proba=1.0;
00267   }
00268 
00269   return proba;
00270 
00271 }

Double_t PDFReader::GetProb_q_bg NueAnaReader nueana  ) 
 

Definition at line 106 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, MCNNVars::qtot, and NueRecord::srevent.

Referenced by MCNNpid::GetMCNNpid().

00106                                                     {
00107 
00108   Float_t fracCC=nueana->nuerecord->mcnnv.qtot;
00109   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00110   Double_t proba = fHist[3]->GetBinContent(fHist[3]->FindBin(fracCC,Ereco));
00111 
00112   if(proba==0 || fracCC < minPDFx[3] || fracCC > maxPDFx[3] || Ereco < minPDFy[3] || Ereco > maxPDFy[3]){
00113     proba=1.0;
00114   }
00115 
00116   return proba;
00117 
00118 }

Double_t PDFReader::GetProb_q_sig NueRecord nuerec  ) 
 

Definition at line 244 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, ANtpEventInfoNue::phNueGeV, MCNNVars::qtot, and NueRecord::srevent.

00244                                                   {
00245 
00246   Float_t fracCC=nuerec->mcnnv.qtot;
00247   Float_t Ereco=nuerec->srevent.phNueGeV;
00248   Double_t proba = fHist[2]->GetBinContent(fHist[2]->FindBin(fracCC,Ereco));
00249 
00250   if(proba==0 || fracCC < minPDFx[2] || fracCC > maxPDFx[2] || Ereco < minPDFy[2] || Ereco > maxPDFy[2]){
00251     proba=0.000001;
00252   }
00253 
00254   return proba;
00255 
00256 }

Double_t PDFReader::GetProb_q_sig NueAnaReader nueana  ) 
 

Definition at line 91 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, MCNNVars::qtot, and NueRecord::srevent.

Referenced by MCNNpid::GetMCNNpid().

00091                                                      {
00092 
00093   Float_t fracCC=nueana->nuerecord->mcnnv.qtot;
00094   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00095   Double_t proba = fHist[2]->GetBinContent(fHist[2]->FindBin(fracCC,Ereco));
00096 
00097   if(proba==0 || fracCC < minPDFx[2] || fracCC > maxPDFx[2] || Ereco < minPDFy[2] || Ereco > maxPDFy[2]){
00098     proba=0.000001;
00099   }
00100 
00101   return proba;
00102 
00103 }

Double_t PDFReader::GetProb_y_bg NueRecord nuerec  ) 
 

Definition at line 289 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and MCNNVars::ymean.

00289                                                  {
00290 
00291   Float_t fracCC=nuerec->mcnnv.ymean;
00292   Float_t Ereco=nuerec->srevent.phNueGeV;
00293   Double_t proba = fHist[5]->GetBinContent(fHist[5]->FindBin(fracCC,Ereco));
00294 
00295   if(proba==0 || fracCC < minPDFx[5] || fracCC > maxPDFx[5] || Ereco < minPDFy[5] || Ereco > maxPDFy[5]){
00296     proba=1.0;
00297   }
00298 
00299   return proba;
00300 
00301 }

Double_t PDFReader::GetProb_y_bg NueAnaReader nueana  ) 
 

Definition at line 136 of file PDFReader.cxx.

References fHist, NueAnaReader::Getymean(), maxPDFx, maxPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and y_cut.

Referenced by MCNNpid::GetMCNNpid().

00136                                                     {
00137 
00138   Float_t fracCC=nueana->Getymean(y_cut);
00139   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00140   Double_t proba = fHist[5]->GetBinContent(fHist[5]->FindBin(fracCC,Ereco));
00141 
00142   if(proba==0 || fracCC < minPDFx[5] || fracCC > maxPDFx[5] || Ereco < minPDFy[5] || Ereco > maxPDFy[5]){
00143     proba=1.0;
00144   }
00145 
00146   return proba;
00147 
00148 }

Double_t PDFReader::GetProb_y_sig NueRecord nuerec  ) 
 

Definition at line 274 of file PDFReader.cxx.

References fHist, maxPDFx, maxPDFy, NueRecord::mcnnv, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and MCNNVars::ymean.

00274                                                   {
00275 
00276   Float_t fracCC=nuerec->mcnnv.ymean;
00277   Float_t Ereco=nuerec->srevent.phNueGeV;
00278   Double_t proba = fHist[4]->GetBinContent(fHist[4]->FindBin(fracCC,Ereco));
00279 
00280   if(proba==0 || fracCC < minPDFx[4] || fracCC > maxPDFx[4] || Ereco < minPDFy[4] || Ereco > maxPDFy[4]){
00281     proba=0.000001;
00282   }
00283 
00284   return proba;
00285 
00286 }

Double_t PDFReader::GetProb_y_sig NueAnaReader nueana  ) 
 

Definition at line 121 of file PDFReader.cxx.

References fHist, NueAnaReader::Getymean(), maxPDFx, maxPDFy, NueAnaReader::nuerecord, ANtpEventInfoNue::phNueGeV, NueRecord::srevent, and y_cut.

Referenced by MCNNpid::GetMCNNpid().

00121                                                      {
00122 
00123   Float_t fracCC=nueana->Getymean(y_cut);
00124   Float_t Ereco=nueana->nuerecord->srevent.phNueGeV;
00125   Double_t proba = fHist[4]->GetBinContent(fHist[4]->FindBin(fracCC,Ereco));
00126 
00127   if(proba==0 || fracCC < minPDFx[4] || fracCC > maxPDFx[4] || Ereco < minPDFy[4] || Ereco > maxPDFy[4]){
00128     proba=0.000001;
00129   }
00130 
00131   return proba;
00132 
00133 }

void PDFReader::Setycut Float_t  y_cut_in  ) 
 

Definition at line 207 of file PDFReader.cxx.

References y_cut.

Referenced by MCNNpid::Setycut().

00207                                        {
00208  
00209   y_cut=y_cut_in;
00210 
00211 }


Member Data Documentation

std::vector<TH2*> PDFReader::fHist [private]
 

Definition at line 57 of file PDFReader.h.

Referenced by GetInt_f_bg(), GetInt_f_sig(), GetProb_f_bg(), GetProb_f_sig(), GetProb_mfqm_bg(), GetProb_mfqm_sig(), GetProb_q_bg(), GetProb_q_sig(), GetProb_y_bg(), GetProb_y_sig(), and PDFReader().

Double_t PDFReader::maxPDFx[8] [private]
 

Definition at line 59 of file PDFReader.h.

Referenced by GetProb_f_bg(), GetProb_f_sig(), GetProb_mfqm_bg(), GetProb_mfqm_sig(), GetProb_q_bg(), GetProb_q_sig(), GetProb_y_bg(), GetProb_y_sig(), and PDFReader().

Double_t PDFReader::maxPDFy[8] [private]
 

Definition at line 61 of file PDFReader.h.

Referenced by GetInt_f_bg(), GetInt_f_sig(), GetProb_f_bg(), GetProb_f_sig(), GetProb_mfqm_bg(), GetProb_mfqm_sig(), GetProb_q_bg(), GetProb_q_sig(), GetProb_y_bg(), GetProb_y_sig(), and PDFReader().

Double_t PDFReader::minPDFx[8] [private]
 

Definition at line 58 of file PDFReader.h.

Referenced by PDFReader().

Double_t PDFReader::minPDFy[8] [private]
 

Definition at line 60 of file PDFReader.h.

Referenced by GetInt_f_bg(), GetInt_f_sig(), and PDFReader().

Float_t PDFReader::y_cut [private]
 

Definition at line 62 of file PDFReader.h.

Referenced by GetProb_f_bg(), GetProb_f_sig(), GetProb_mfqm_bg(), GetProb_mfqm_sig(), GetProb_y_bg(), GetProb_y_sig(), PDFReader(), and Setycut().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:10:00 2010 for loon by  doxygen 1.3.9.1