OscFit::TemplateWriter Class Reference

#include <TemplateWriter.h>

List of all members.

Public Member Functions

void WriteData (const char *filename)
void WriteMC (const char *filename)
void WriteSystematics (const char *filename)
void WriteExpectation (const char *filename)
void WriteNCBackground (const char *filename)
void WriteCosmicBackground (const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, Double_t beam_numu_norm, Double_t beam_numu_ncbkg, Double_t beam_numu_shwen, Double_t beam_numu_trken, Double_t beam_numu_trken_exit, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, Double_t atmos_norm_cv, Double_t atmos_norm_rock, Double_t atmos_ratio_cv, Double_t atmos_ratio_rock, Double_t atmos_norm_nue, Double_t atmos_norm_nc, Double_t atmos_spec_cv_nu, Double_t atmos_spec_cv_nubar, Double_t atmos_spec_rock_nu, Double_t atmos_spec_rock_nubar, Double_t atmos_zenith, Double_t atmos_numu_trken, Double_t atmos_numu_trken_exit, Double_t atmos_numu_shwen, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, Double_t beam_numu_norm, Double_t beam_numu_ncbkg, Double_t beam_numu_shwen, Double_t beam_numu_trken, Double_t beam_numu_trken_exit, Double_t atmos_norm_cv, Double_t atmos_norm_rock, Double_t atmos_ratio_cv, Double_t atmos_ratio_rock, Double_t atmos_norm_nue, Double_t atmos_norm_nc, Double_t atmos_spec_cv_nu, Double_t atmos_spec_cv_nubar, Double_t atmos_spec_rock_nu, Double_t atmos_spec_rock_nubar, Double_t atmos_zenith, Double_t atmos_numu_trken, Double_t atmos_numu_trken_exit, Double_t atmos_numu_shwen, const char *filename)
void WriteFakeData (Source_t source, Double_t dmsq, Double_t sinsq, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq23, Double_t sinsq13, Double_t deltaCP, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq23, Double_t sinsq13, Double_t deltaCP, Double_t beam_numu_norm, Double_t beam_numu_ncbkg, Double_t beam_numu_shwen, Double_t beam_numu_trken, Double_t beam_numu_trken_exit, Double_t beam_nue_norm, Double_t beam_nue_ncbkg, Double_t beam_nue_energy, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq23, Double_t sinsq13, Double_t deltaCP, Double_t atmos_norm_cv, Double_t atmos_norm_rock, Double_t atmos_ratio_cv, Double_t atmos_ratio_rock, Double_t atmos_norm_nue, Double_t atmos_ratio_nue, Double_t atmos_norm_nc, Double_t atmos_spec_cv_numu, Double_t atmos_spec_cv_numubar, Double_t atmos_spec_cv_nue, Double_t atmos_spec_cv_nuebar, Double_t atmos_spec_rock_nu, Double_t atmos_spec_rock_nubar, Double_t atmos_zenith, Double_t atmos_numu_trken, Double_t atmos_numu_trken_exit, Double_t atmos_numu_shwen, Double_t atmos_nue_energy, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq23, Double_t sinsq13, Double_t deltaCP, Double_t beam_numu_norm, Double_t beam_numu_ncbkg, Double_t beam_numu_shwen, Double_t beam_numu_trken, Double_t beam_numu_trken_exit, Double_t beam_nue_norm, Double_t beam_nue_ncbkg, Double_t beam_nue_energy, Double_t atmos_norm_cv, Double_t atmos_norm_rock, Double_t atmos_ratio_cv, Double_t atmos_ratio_rock, Double_t atmos_norm_nue, Double_t atmos_ratio_nue, Double_t atmos_norm_nc, Double_t atmos_spec_cv_numu, Double_t atmos_spec_cv_numubar, Double_t atmos_spec_cv_nue, Double_t atmos_spec_cv_nuebar, Double_t atmos_spec_rock_nu, Double_t atmos_spec_rock_nubar, Double_t atmos_zenith, Double_t atmos_numu_trken, Double_t atmos_numu_trken_exit, Double_t atmos_numu_shwen, Double_t atmos_nue_energy, const char *filename)
void WriteFakeData (Source_t source, Double_t dmsq, Double_t sinsq23, Double_t sinsq13, Double_t deltaCP, const char *filename)
void Write (Template *temp, const char *filename)
void WriteSystematics (const char *filename)
void WriteExpectation (const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, Double_t dmsqbar, Double_t sinsqbar, const char *filename)
void WriteExpectation (Double_t dmsq, Double_t sinsq, Double_t dmsqbar, Double_t sinsqbar, Double_t norm, Double_t ncbkg, Double_t shwen, Double_t trken, const char *filename)
void WriteData (const char *filename)
void WriteToFile (const char *filename)
void WriteToFile (Double_t dmsq, Double_t sinsq, const char *filename)
void WriteToFile (Double_t dmsq, Double_t sinsq, Double_t dmsqbar, Double_t sinsqbar, const char *filename)
void WriteToFile (Double_t dmsq, Double_t sinsq, Double_t dmsqbar, Double_t sinsqbar, Double_t norm, Double_t ncbkg, Double_t shwen, Double_t trken, const char *filename)
void WriteToFile (TemplateArray *tempArray, const char *filename)

Static Public Member Functions

static TemplateWriterInstance ()
static TemplateWriterInstance ()

Private Member Functions

 TemplateWriter ()
 ~TemplateWriter ()
 TemplateWriter ()
virtual ~TemplateWriter ()
void OpenFile (const char *filename)
void AddToFile (Sample_t sample, Interaction_t interaction, TemplateArray *tempArray)
void AddToFile (Template *temp, const char *basename)
void CloseFile ()

Private Attributes

TemplatefTemplateLayer0
TemplatefTemplateLayer1
TemplateArrayfTemplateArray
TemplatefTemplateDummy
TemplatefTemplateFHC
TemplatefTemplateRHC
TemplatefTemplateALL
TDirectory * fDirHandle
TFile * fFileHandle

Detailed Description

Definition at line 10 of file TemplateWriter.h.


Constructor & Destructor Documentation

TemplateWriter::TemplateWriter (  )  [private]

Definition at line 25 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

Referenced by Instance().

00026 {
00027   fTemplateLayer0 = new Template();
00028   fTemplateLayer1 = new Template();
00029 
00030   TemplateCalculator::Instance()->Initialise();
00031 }

TemplateWriter::~TemplateWriter (  )  [private]

Definition at line 33 of file TemplateWriter.cxx.

References fTemplateLayer0, and fTemplateLayer1.

00034 {
00035   delete fTemplateLayer0;
00036   delete fTemplateLayer1;
00037 }

OscFit::TemplateWriter::TemplateWriter (  )  [private]
virtual OscFit::TemplateWriter::~TemplateWriter (  )  [private, virtual]

Member Function Documentation

void TemplateWriter::AddToFile ( Template temp,
const char *  basename 
) [private]

Definition at line 432 of file twoflavours/TemplateWriter.cxx.

References OscFit::AsString(), OscFit::GetBin(), OscFit::GetFirstCorrectSignBin(), OscFit::GetFirstFiducialBin(), OscFit::Template::GetHistogramByType(), OscFit::GetLastCorrectSignBin(), OscFit::GetLastFiducialBin(), OscFit::GetNumBins(), and OscFit::Histogram::MakeTH1D().

00433 {
00434   if( temp==0 ) return;
00435 
00436   // Names of Summed Histograms
00437   TString histNameFiducial = baseName; 
00438   histNameFiducial.Append("_fiducial"); 
00439   TH1D* hFiducial = 0;
00440 
00441   TString histNameCorrectSign = baseName; 
00442   histNameCorrectSign.Append("_correctsign"); 
00443   TH1D* hCorrectSign = 0;
00444 
00445   // Loop over Histograms
00446   for( Int_t ibin=0; ibin<OscFit::GetNumBins(); ibin++ ){
00447     Bin_t bintype = OscFit::GetBin(ibin);
00448       
00449     // Get Histograms
00450     TString histName = baseName; histName.Append("_"); 
00451     histName.Append( OscFit::AsString(bintype) );
00452 
00453     Histogram* hist = temp->GetHistogramByType(bintype);
00454     TH1D* h = hist->MakeTH1D( histName.Data() );
00455  
00456     // Add to Sum: Fiducial Events (All)
00457     if( ibin>=OscFit::GetFirstFiducialBin()
00458      && ibin<=OscFit::GetLastFiducialBin() ){
00459       if( hFiducial==0 ){
00460         hFiducial = (TH1D*)(h->Clone(histNameFiducial.Data()));
00461       }
00462       else{
00463         hFiducial->Add( h );
00464       }
00465     }
00466 
00467     // Add to Sum: Fiducial Events (Correct Sign)
00468     if( ibin>=OscFit::GetFirstCorrectSignBin()
00469      && ibin<=OscFit::GetLastCorrectSignBin() ){
00470       if( hCorrectSign==0 ){
00471         hCorrectSign = (TH1D*)(h->Clone(histNameCorrectSign.Data()));
00472       }
00473       else{
00474         hCorrectSign->Add( h );
00475       }
00476     }
00477 
00478     // Write Histogram
00479     h->Write();
00480   }
00481 
00482   // Write out Summed Histograms
00483   hFiducial->Write();
00484   hCorrectSign->Write();
00485 
00486   return;
00487 }  

void TemplateWriter::AddToFile ( Sample_t  sample,
Interaction_t  interaction,
TemplateArray tempArray 
) [private]

Definition at line 378 of file twoflavours/TemplateWriter.cxx.

References OscFit::Template::Add(), OscFit::AsString(), fTemplateALL, fTemplateDummy, fTemplateFHC, fTemplateRHC, OscFit::GetNumRuns(), OscFit::GetRun(), OscFit::GetRunType(), OscFit::TemplateArray::GetTemplate(), OscFit::kData, OscFit::kFHC, OscFit::kNull, OscFit::kRHC, OscFit::Template::Reset(), and run().

Referenced by WriteToFile().

00379 {
00380   if( tempArray==0 ) return;
00381 
00382   std::cout << "   Writing Templates: [" << AsString(sample) << "]";
00383   if( interaction != OscFit::kNull) std::cout << "[" << AsString(interaction) << "]"; 
00384   std::cout << std::endl;
00385     
00386   // Base name for histograms
00387   TString baseName = "h"; 
00388   TString tempName = "";
00389   if( sample != OscFit::kData ){
00390     baseName.Append("_"); baseName.Append( OscFit::AsString(sample) );
00391   }
00392   if( interaction != OscFit::kNull ){
00393     baseName.Append("_"); baseName.Append( OscFit::AsString(interaction) );
00394   }
00395 
00396   // Reset Summed Histograms
00397   fTemplateFHC->Reset();
00398   fTemplateRHC->Reset();
00399   fTemplateALL->Reset();
00400 
00401   // Loop over runs
00402   for( Int_t irun=0; irun<OscFit::GetNumRuns(); irun++ ){
00403     Run_t run = OscFit::GetRun(irun);
00404     Template* temp = tempArray->GetTemplate(run);
00405     if( temp==0 ) temp = fTemplateDummy;
00406 
00407     tempName = baseName; tempName.Append("_"); 
00408     tempName.Append( OscFit::AsString(run) );
00409 
00410     this->AddToFile( temp, tempName.Data() );
00411 
00412     if( OscFit::GetRunType(run)==OscFit::kFHC ) fTemplateFHC->Add( temp );
00413     if( OscFit::GetRunType(run)==OscFit::kRHC ) fTemplateRHC->Add( temp );
00414     fTemplateALL->Add( temp );
00415   }
00416 
00417   // Write out Summed Histograms
00418   tempName = baseName; tempName.Append("_"); 
00419   tempName.Append( OscFit::AsString(OscFit::kFHC) );
00420   this->AddToFile( fTemplateFHC, tempName.Data() );  
00421 
00422   tempName = baseName; tempName.Append("_"); 
00423   tempName.Append( OscFit::AsString(OscFit::kRHC) );
00424   this->AddToFile( fTemplateRHC, tempName.Data() );
00425 
00426   tempName = baseName; tempName.Append("_all"); 
00427   this->AddToFile( fTemplateALL, tempName.Data() );
00428 
00429   return;
00430 }    

void TemplateWriter::CloseFile (  )  [private]

Definition at line 367 of file twoflavours/TemplateWriter.cxx.

References fDirHandle, and fFileHandle.

Referenced by WriteToFile().

00368 {
00369   if( fFileHandle==0 ) return;
00370 
00371   std::cout << "  Closing File: " << fFileHandle->GetName() << std::endl;
00372 
00373   fFileHandle->Close();
00374   fFileHandle = 0;
00375   gDirectory = fDirHandle;
00376 }

static TemplateWriter* OscFit::TemplateWriter::Instance (  )  [static]
TemplateWriter * TemplateWriter::Instance (  )  [static]

Definition at line 16 of file TemplateWriter.cxx.

References TemplateWriter().

Referenced by TemplateWriter(), Write(), WriteCosmicBackground(), WriteData(), WriteExpectation(), WriteFakeData(), WriteMC(), WriteNCBackground(), and WriteToFile().

00017 {
00018   if( !fgTemplateWriter ){
00019     fgTemplateWriter = new TemplateWriter();
00020   }
00021 
00022   return fgTemplateWriter;
00023 }

void TemplateWriter::OpenFile ( const char *  filename  )  [private]

Definition at line 355 of file twoflavours/TemplateWriter.cxx.

References fDirHandle, and fFileHandle.

Referenced by WriteToFile().

00356 {
00357   std::cout << "  Opening File: " << filename << std::endl;
00358 
00359   if( fFileHandle ) return;
00360 
00361   fDirHandle = gDirectory;
00362   fFileHandle  = new TFile(filename,"recreate");
00363 
00364   return;
00365 }

void TemplateWriter::Write ( Template temp,
const char *  filename 
)

Definition at line 39 of file TemplateWriter.cxx.

References fTemplateLayer1, and Instance().

00040 {
00041   if( temp==0 ) return;
00042 
00043   TemplateCalculator::Instance()->FillCombinedBins( temp, 
00044                                                     fTemplateLayer1 );
00045 
00046   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00047 }

void TemplateWriter::WriteCosmicBackground ( const char *  filename  ) 

Definition at line 83 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00084 {
00085   TemplateCalculator::Instance()->GetCosmicBackground( fTemplateLayer0 );
00086 
00087   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, fTemplateLayer1 );
00088 
00089   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00090 }

void OscFit::TemplateWriter::WriteData ( const char *  filename  ) 
void TemplateWriter::WriteData ( const char *  filename  ) 

Definition at line 49 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, Instance(), and OscFit::TemplateGrid::Instance().

00050 {
00051   if( TemplateGrid::Instance()->TouchData()==0 ) {
00052     std::cout << " *** TemplateWriter::WriteData() *** " << std::endl
00053               << "    Cannot find data [RETURN] " << std::endl;
00054     return;
00055   }
00056 
00057   TemplateCalculator::Instance()->GetData( fTemplateLayer0 );
00058 
00059   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00060                                                     fTemplateLayer1 );
00061 
00062   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00063 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
Double_t  dmsqbar,
Double_t  sinsqbar,
Double_t  norm,
Double_t  ncbkg,
Double_t  shwen,
Double_t  trken,
const char *  filename 
)

Definition at line 182 of file twoflavours/TemplateWriter.cxx.

References WriteToFile().

00183 {
00184   return this->WriteToFile( dmsq, sinsq, dmsqbar, sinsqbar,
00185                             norm, ncbkg, shwen, trken,
00186                             filename );
00187 }

void OscFit::TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
Double_t  dmsqbar,
Double_t  sinsqbar,
const char *  filename 
)
void OscFit::TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
const char *  filename 
)
void OscFit::TemplateWriter::WriteExpectation ( const char *  filename  ) 
void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq23,
Double_t  sinsq13,
Double_t  deltaCP,
Double_t  beam_numu_norm,
Double_t  beam_numu_ncbkg,
Double_t  beam_numu_shwen,
Double_t  beam_numu_trken,
Double_t  beam_numu_trken_exit,
Double_t  beam_nue_norm,
Double_t  beam_nue_ncbkg,
Double_t  beam_nue_energy,
Double_t  atmos_norm_cv,
Double_t  atmos_norm_rock,
Double_t  atmos_ratio_cv,
Double_t  atmos_ratio_rock,
Double_t  atmos_norm_nue,
Double_t  atmos_ratio_nue,
Double_t  atmos_norm_nc,
Double_t  atmos_spec_cv_numu,
Double_t  atmos_spec_cv_numubar,
Double_t  atmos_spec_cv_nue,
Double_t  atmos_spec_cv_nuebar,
Double_t  atmos_spec_rock_nu,
Double_t  atmos_spec_rock_nubar,
Double_t  atmos_zenith,
Double_t  atmos_numu_trken,
Double_t  atmos_numu_trken_exit,
Double_t  atmos_numu_shwen,
Double_t  atmos_nue_energy,
const char *  filename 
)

Definition at line 214 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00215 {
00216   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq23,
00217                                                   sinsq13, deltaCP,
00218                                                   beam_numu_norm,     beam_numu_ncbkg, 
00219                                                   beam_numu_shwen,    beam_numu_trken, 
00220                                                   beam_numu_trken_exit,
00221                                                   beam_nue_norm,      beam_nue_ncbkg, 
00222                                                   beam_nue_energy,       
00223                                                   atmos_norm_cv,      atmos_norm_rock,
00224                                                   atmos_ratio_cv,     atmos_ratio_rock, 
00225                                                   atmos_norm_nue,     atmos_ratio_nue, 
00226                                                   atmos_norm_nc,      
00227                                                   atmos_spec_cv_numu, atmos_spec_cv_numubar, 
00228                                                   atmos_spec_cv_nue,  atmos_spec_cv_nuebar, 
00229                                                   atmos_spec_rock_nu, atmos_spec_rock_nubar, 
00230                                                   atmos_zenith,
00231                                                   atmos_numu_trken,   atmos_numu_trken_exit,
00232                                                   atmos_numu_shwen,   atmos_nue_energy,
00233                                                   fTemplateLayer0 );
00234 
00235   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00236                                                     fTemplateLayer1 );
00237 
00238   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00239 }  

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq23,
Double_t  sinsq13,
Double_t  deltaCP,
Double_t  atmos_norm_cv,
Double_t  atmos_norm_rock,
Double_t  atmos_ratio_cv,
Double_t  atmos_ratio_rock,
Double_t  atmos_norm_nue,
Double_t  atmos_ratio_nue,
Double_t  atmos_norm_nc,
Double_t  atmos_spec_cv_numu,
Double_t  atmos_spec_cv_numubar,
Double_t  atmos_spec_cv_nue,
Double_t  atmos_spec_cv_nuebar,
Double_t  atmos_spec_rock_nu,
Double_t  atmos_spec_rock_nubar,
Double_t  atmos_zenith,
Double_t  atmos_numu_trken,
Double_t  atmos_numu_trken_exit,
Double_t  atmos_numu_shwen,
Double_t  atmos_nue_energy,
const char *  filename 
)

Definition at line 192 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00193 {
00194   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq23,
00195                                                   sinsq13, deltaCP,
00196                                                   atmos_norm_cv,      atmos_norm_rock,
00197                                                   atmos_ratio_cv,     atmos_ratio_rock,  
00198                                                   atmos_norm_nue,     atmos_ratio_nue,
00199                                                   atmos_norm_nc,     
00200                                                   atmos_spec_cv_numu, atmos_spec_cv_numubar, 
00201                                                   atmos_spec_cv_nue,  atmos_spec_cv_nuebar, 
00202                                                   atmos_spec_rock_nu, atmos_spec_rock_nubar,
00203                                                   atmos_zenith,   
00204                                                   atmos_numu_trken,   atmos_numu_trken_exit, 
00205                                                   atmos_numu_shwen,   atmos_nue_energy,   
00206                                                   fTemplateLayer0 );
00207 
00208   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00209                                                     fTemplateLayer1 );
00210 
00211   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00212 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq23,
Double_t  sinsq13,
Double_t  deltaCP,
Double_t  beam_numu_norm,
Double_t  beam_numu_ncbkg,
Double_t  beam_numu_shwen,
Double_t  beam_numu_trken,
Double_t  beam_numu_trken_exit,
Double_t  beam_nue_norm,
Double_t  beam_nue_ncbkg,
Double_t  beam_nue_energy,
const char *  filename 
)

Definition at line 175 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00176 {
00177   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq23,
00178                                                   sinsq13, deltaCP,
00179                                                   beam_numu_norm,  beam_numu_ncbkg, 
00180                                                   beam_numu_shwen, beam_numu_trken, 
00181                                                   beam_numu_trken_exit, 
00182                                                   beam_nue_norm,   beam_nue_ncbkg, 
00183                                                   beam_nue_energy,   
00184                                                   fTemplateLayer0 );
00185 
00186   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00187                                                     fTemplateLayer1 );
00188 
00189   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00190 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq23,
Double_t  sinsq13,
Double_t  deltaCP,
const char *  filename 
)

Definition at line 163 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00164 {
00165   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq23,
00166                                                   sinsq13, deltaCP,
00167                                                   fTemplateLayer0 );
00168 
00169   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00170                                                     fTemplateLayer1 );
00171 
00172   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00173 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
Double_t  beam_numu_norm,
Double_t  beam_numu_ncbkg,
Double_t  beam_numu_shwen,
Double_t  beam_numu_trken,
Double_t  beam_numu_trken_exit,
Double_t  atmos_norm_cv,
Double_t  atmos_norm_rock,
Double_t  atmos_ratio_cv,
Double_t  atmos_ratio_rock,
Double_t  atmos_norm_nue,
Double_t  atmos_norm_nc,
Double_t  atmos_spec_cv_nu,
Double_t  atmos_spec_cv_nubar,
Double_t  atmos_spec_rock_nu,
Double_t  atmos_spec_rock_nubar,
Double_t  atmos_zenith,
Double_t  atmos_numu_trken,
Double_t  atmos_numu_trken_exit,
Double_t  atmos_numu_shwen,
const char *  filename 
)

Definition at line 141 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00142 {
00143   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00144                                                   beam_numu_norm,     beam_numu_ncbkg, 
00145                                                   beam_numu_shwen,    beam_numu_trken, 
00146                                                   beam_numu_trken_exit, 
00147                                                   atmos_norm_cv,      atmos_norm_rock,
00148                                                   atmos_ratio_cv,     atmos_ratio_rock, 
00149                                                   atmos_norm_nue,     atmos_norm_nc,      
00150                                                   atmos_spec_cv_nu,   atmos_spec_cv_nubar, 
00151                                                   atmos_spec_rock_nu, atmos_spec_rock_nubar,
00152                                                   atmos_zenith,
00153                                                   atmos_numu_trken,   atmos_numu_trken_exit,
00154                                                   atmos_numu_shwen,       
00155                                                   fTemplateLayer0 );
00156 
00157   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00158                                                     fTemplateLayer1 );
00159 
00160   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00161 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
Double_t  atmos_norm_cv,
Double_t  atmos_norm_rock,
Double_t  atmos_ratio_cv,
Double_t  atmos_ratio_rock,
Double_t  atmos_norm_nue,
Double_t  atmos_norm_nc,
Double_t  atmos_spec_cv_nu,
Double_t  atmos_spec_cv_nubar,
Double_t  atmos_spec_rock_nu,
Double_t  atmos_spec_rock_nubar,
Double_t  atmos_zenith,
Double_t  atmos_numu_trken,
Double_t  atmos_numu_trken_exit,
Double_t  atmos_numu_shwen,
const char *  filename 
)

Definition at line 122 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00123 {
00124   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00125                                                   atmos_norm_cv,      atmos_norm_rock,
00126                                                   atmos_ratio_cv,     atmos_ratio_rock, 
00127                                                   atmos_norm_nue,     atmos_norm_nc,      
00128                                                   atmos_spec_cv_nu,   atmos_spec_cv_nubar,
00129                                                   atmos_spec_rock_nu, atmos_spec_rock_nubar,
00130                                                   atmos_zenith,       
00131                                                   atmos_numu_trken,   atmos_numu_trken_exit,
00132                                                   atmos_numu_shwen, 
00133                                                   fTemplateLayer0 );
00134 
00135   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00136                                                     fTemplateLayer1 );
00137 
00138   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00139 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
Double_t  beam_numu_norm,
Double_t  beam_numu_ncbkg,
Double_t  beam_numu_shwen,
Double_t  beam_numu_trken,
Double_t  beam_numu_trken_exit,
const char *  filename 
)

Definition at line 108 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00109 {
00110   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00111                                                   beam_numu_norm,  beam_numu_ncbkg, 
00112                                                   beam_numu_shwen, beam_numu_trken, 
00113                                                   beam_numu_trken_exit, 
00114                                                   fTemplateLayer0 );
00115 
00116   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00117                                                     fTemplateLayer1 );
00118 
00119   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00120 }

void TemplateWriter::WriteExpectation ( Double_t  dmsq,
Double_t  sinsq,
const char *  filename 
)

Definition at line 97 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00098 {
00099   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq, 
00100                                                   fTemplateLayer0 );
00101 
00102   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, 
00103                                                     fTemplateLayer1 );
00104 
00105   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00106 }

void TemplateWriter::WriteExpectation ( const char *  filename  ) 

Definition at line 92 of file TemplateWriter.cxx.

References WriteMC().

Referenced by WriteSystematics().

00093 {
00094   return WriteMC(filename);
00095 }

void TemplateWriter::WriteFakeData ( Source_t  source,
Double_t  dmsq,
Double_t  sinsq23,
Double_t  sinsq13,
Double_t  deltaCP,
const char *  filename 
)

Definition at line 913 of file TemplateWriter.cxx.

References OscFit::AsString(), fTemplateLayer0, Instance(), OscFit::kAtmosData, and OscFit::kBeamData.

00914 {
00915   std::cout << " *** TemplateWriter::WriteFakeData(...) *** " << std::endl;
00916   std::cout << "  source=" << OscFit::AsString(source) << std::endl;
00917   std::cout << "  dmsq=" << dmsq << " sinsq23=" << sinsq23 << " sinsq13=" << sinsq13 << " deltaCP=" << deltaCP << std::endl;
00918 
00919   Bool_t saveAtmosSwitch = TemplateCalculator::Instance()->GetSwitchForAtmosData();
00920   Bool_t saveBeamSwitch  = TemplateCalculator::Instance()->GetSwitchForBeamData();
00921 
00922   if( source==OscFit::kAtmosData ){
00923     TemplateCalculator::Instance()->SwitchOffBeamData();
00924   }
00925 
00926   if( source==OscFit::kBeamData ){
00927     TemplateCalculator::Instance()->SwitchOffAtmosData();
00928   }
00929 
00930   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq23,
00931                                                   sinsq13, deltaCP,
00932                                                   fTemplateLayer0 );
00933 
00934   if( source==OscFit::kAtmosData ){
00935     TemplateIO::Instance()->WriteAtmosData( fTemplateLayer0, filename );
00936   }
00937 
00938   if( source==OscFit::kBeamData ){
00939     TemplateIO::Instance()->WriteBeamData( fTemplateLayer0, filename );
00940   }
00941    
00942   TemplateCalculator::Instance()->SwitchAtmosDataOnOff( saveAtmosSwitch );
00943   TemplateCalculator::Instance()->SwitchBeamDataOnOff( saveBeamSwitch );
00944 
00945   return;
00946 }

void TemplateWriter::WriteFakeData ( Source_t  source,
Double_t  dmsq,
Double_t  sinsq,
const char *  filename 
)

Definition at line 879 of file TemplateWriter.cxx.

References OscFit::AsString(), fTemplateLayer0, Instance(), OscFit::kAtmosData, and OscFit::kBeamData.

00880 {
00881   std::cout << " *** TemplateWriter::WriteFakeData(...) *** " << std::endl;
00882   std::cout << "  source=" << OscFit::AsString(source) << std::endl;
00883   std::cout << "  dmsq=" << dmsq << " sinsq=" << sinsq << std::endl;
00884 
00885   Bool_t saveAtmosSwitch = TemplateCalculator::Instance()->GetSwitchForAtmosData();
00886   Bool_t saveBeamSwitch  = TemplateCalculator::Instance()->GetSwitchForBeamData();
00887 
00888   if( source==OscFit::kAtmosData ){
00889     TemplateCalculator::Instance()->SwitchOffBeamData();
00890   }
00891 
00892   if( source==OscFit::kBeamData ){
00893     TemplateCalculator::Instance()->SwitchOffAtmosData();
00894   }
00895 
00896   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00897                                                   fTemplateLayer0 );
00898 
00899   if( source==OscFit::kAtmosData ){
00900     TemplateIO::Instance()->WriteAtmosData( fTemplateLayer0, filename );
00901   }
00902 
00903   if( source==OscFit::kBeamData ){
00904     TemplateIO::Instance()->WriteBeamData( fTemplateLayer0, filename );
00905   }
00906    
00907   TemplateCalculator::Instance()->SwitchAtmosDataOnOff( saveAtmosSwitch );
00908   TemplateCalculator::Instance()->SwitchBeamDataOnOff( saveBeamSwitch );
00909 
00910   return;
00911 }

void TemplateWriter::WriteMC ( const char *  filename  ) 

Definition at line 65 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

Referenced by WriteExpectation().

00066 {
00067   TemplateCalculator::Instance()->GetMC( fTemplateLayer0 );
00068 
00069   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, fTemplateLayer1 );
00070 
00071   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00072 }

void TemplateWriter::WriteNCBackground ( const char *  filename  ) 

Definition at line 74 of file TemplateWriter.cxx.

References fTemplateLayer0, fTemplateLayer1, and Instance().

00075 {
00076   TemplateCalculator::Instance()->GetNCBackground( fTemplateLayer0 );
00077 
00078   TemplateCalculator::Instance()->FillCombinedBins( fTemplateLayer0, fTemplateLayer1 );
00079 
00080   TemplateIO::Instance()->WriteHistograms( fTemplateLayer1, filename );
00081 }

void OscFit::TemplateWriter::WriteSystematics ( const char *  filename  ) 
void TemplateWriter::WriteSystematics ( const char *  filename  ) 

Definition at line 241 of file TemplateWriter.cxx.

References OscFit::TemplateGrid::Instance(), OscFit::Configuration::Instance(), and WriteExpectation().

00242 {
00243   std::cout << " *** TemplateWriter::WriteSystematics(...) *** " << std::endl;
00244 
00245   if( TemplateGrid::Instance()->TouchSystematics()==0 ){
00246     std::cout << "  Warning: Systematics requested, but not loaded " << std::endl;
00247     return;
00248   }
00249 
00250 
00251   // Beam Systematics
00252   // ================
00253   if( Configuration::Instance()->UsingBeamData() ){
00254     std::cout << " *** TemplateWriter::WriteBeamSystematics(...) *** " << std::endl;
00255 
00256     // base filename
00257     TString name = filename;
00258     TString tag = "";
00259 
00260     // Central Prediction
00261     name = filename;
00262     tag = ".noosc.syst.beam.central";
00263 
00264     if( name.EndsWith(".root") ) 
00265       name.Insert(name.Length()-5,tag);
00266     else name.Append(tag);
00267 
00268     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00269                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00270                             0.0, 0.0, 0.0, 0.0,            // atmos
00271                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00272                             0.0, 0.0, 0.0, 0.0,            // atmos
00273                             name );
00274 
00275     // Beam Normalisation (m1)
00276     name = filename;
00277     tag = ".noosc.syst.beam.norm.m1";
00278 
00279     if( name.EndsWith(".root") ) 
00280       name.Insert(name.Length()-5,tag);
00281     else name.Append(tag);
00282 
00283     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00284                             -1.0, 0.0, 0.0, 0.0, 0.0,      // beam
00285                             0.0, 0.0, 0.0, 0.0,            // atmos
00286                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00287                             0.0, 0.0, 0.0, 0.0,            // atmos
00288                             name ); 
00289 
00290     // Beam Normalisation (p1)
00291     name = filename;
00292     tag = ".noosc.syst.beam.norm.p1";
00293 
00294     if( name.EndsWith(".root") ) 
00295       name.Insert(name.Length()-5,tag);
00296     else name.Append(tag);
00297 
00298     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00299                             +1.0, 0.0, 0.0, 0.0, 0.0,      // beam
00300                             0.0, 0.0, 0.0, 0.0,            // atmos
00301                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00302                             0.0, 0.0, 0.0, 0.0,            // atmos
00303                             name );
00304 
00305     // Beam NC Background (m1)
00306     name = filename;
00307     tag = ".noosc.syst.beam.ncbkg.m1";
00308 
00309     if( name.EndsWith(".root") ) 
00310       name.Insert(name.Length()-5,tag);
00311     else name.Append(tag);
00312 
00313     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00314                             0.0, -1.0, 0.0, 0.0, 0.0,      // beam
00315                             0.0, 0.0, 0.0, 0.0,            // atmos
00316                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00317                             0.0, 0.0, 0.0, 0.0,            // atmos
00318                             name );  
00319 
00320     // Beam NC Background (p1)
00321     name = filename;
00322     tag = ".noosc.syst.beam.ncbkg.p1";
00323 
00324     if( name.EndsWith(".root") ) 
00325       name.Insert(name.Length()-5,tag);
00326     else name.Append(tag);
00327 
00328     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00329                             0.0, +1.0, 0.0, 0.0, 0.0,      // beam
00330                             0.0, 0.0, 0.0, 0.0,            // atmos
00331                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00332                             0.0, 0.0, 0.0, 0.0,            // atmos
00333                             name );   
00334 
00335     // Beam Shower Energy (m1)
00336     name = filename;
00337     tag = ".noosc.syst.beam.shwen.m1";
00338 
00339     if( name.EndsWith(".root") ) 
00340       name.Insert(name.Length()-5,tag);
00341     else name.Append(tag);
00342 
00343     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00344                             0.0, 0.0, -1.0, 0.0, 0.0,      // beam
00345                             0.0, 0.0, 0.0, 0.0,            // atmos
00346                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00347                             0.0, 0.0, 0.0, 0.0,            // atmos
00348                             name );  
00349 
00350     // Beam Shower Energy (p1)
00351     name = filename;
00352     tag = ".noosc.syst.beam.shwen.p1";
00353 
00354     if( name.EndsWith(".root") ) 
00355       name.Insert(name.Length()-5,tag);
00356     else name.Append(tag);
00357 
00358     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00359                             0.0, 0.0, +1.0, 0.0, 0.0,      // beam
00360                             0.0, 0.0, 0.0, 0.0,            // atmos
00361                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00362                             0.0, 0.0, 0.0, 0.0,            // atmos
00363                             name );  
00364 
00365     // Beam Track Energy (m1)
00366     name = filename;
00367     tag = ".noosc.syst.beam.trken.m1";
00368 
00369     if( name.EndsWith(".root") ) 
00370       name.Insert(name.Length()-5,tag);
00371     else name.Append(tag);
00372 
00373     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00374                             0.0, 0.0, 0.0, -1.0, 0.0,      // beam
00375                             0.0, 0.0, 0.0, 0.0,            // atmos
00376                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00377                             0.0, 0.0, 0.0, 0.0,            // atmos
00378                             name );    
00379 
00380     // Beam Track Energy (p1)
00381     name = filename;
00382     tag = ".noosc.syst.beam.trken.p1";
00383 
00384     if( name.EndsWith(".root") ) 
00385       name.Insert(name.Length()-5,tag);
00386     else name.Append(tag);
00387 
00388     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00389                             0.0, 0.0, 0.0, +1.0, 0.0,      // beam
00390                             0.0, 0.0, 0.0, 0.0,            // atmos
00391                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00392                             0.0, 0.0, 0.0, 0.0,            // atmos
00393                             name );      
00394 
00395     // Beam Track Energy (m1)
00396     name = filename;
00397     tag = ".noosc.syst.beam.trkexit.m1";
00398 
00399     if( name.EndsWith(".root") ) 
00400       name.Insert(name.Length()-5,tag);
00401     else name.Append(tag);
00402 
00403     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00404                             0.0, 0.0, 0.0, 0.0, -1.0,      // beam
00405                             0.0, 0.0, 0.0, 0.0,            // atmos
00406                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00407                             0.0, 0.0, 0.0, 0.0,            // atmos
00408                             name );    
00409 
00410     // Beam Track Energy (p1)
00411     name = filename;
00412     tag = ".noosc.syst.beam.trkexit.p1";
00413 
00414     if( name.EndsWith(".root") ) 
00415       name.Insert(name.Length()-5,tag);
00416     else name.Append(tag);
00417 
00418     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00419                             0.0, 0.0, 0.0, 0.0, +1.0,      // beam
00420                             0.0, 0.0, 0.0, 0.0,            // atmos
00421                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00422                             0.0, 0.0, 0.0, 0.0,            // atmos
00423                             name );  
00424 
00425   } // end of beam systematics
00426 
00427 
00428   // Atmos Systematics
00429   // =================
00430   if( Configuration::Instance()->UsingAtmosData() ){
00431     std::cout << " *** TemplateWriter::WriteAtmosSystematics(...) *** " << std::endl;
00432 
00433     // base filename
00434     TString name = filename;
00435     TString tag = "";
00436  
00437     // Central Prediction
00438     name = filename;
00439     tag = ".noosc.syst.atmos.central";
00440 
00441     if( name.EndsWith(".root") ) 
00442       name.Insert(name.Length()-5,tag);
00443     else name.Append(tag);
00444 
00445     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00446                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00447                             0.0, 0.0, 0.0, 0.0,            // atmos
00448                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00449                             0.0, 0.0, 0.0, 0.0,            // atmos
00450                             name );
00451 
00452     // Atmos Normalisation, CV (m1)
00453     name = filename;
00454     tag = ".noosc.syst.atmos.norm.cv.m1";
00455 
00456     if( name.EndsWith(".root") ) 
00457       name.Insert(name.Length()-5,tag);
00458     else name.Append(tag);
00459 
00460     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00461                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00462                             -1.0, 0.0, 0.0, 0.0,           // atmos
00463                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00464                             0.0, 0.0, 0.0, 0.0,            // atmos
00465                             name );  
00466 
00467     // Atmos Normalisation, CV (p1)
00468     name = filename;
00469     tag = ".noosc.syst.atmos.norm.cv.p1";
00470 
00471     if( name.EndsWith(".root") ) 
00472       name.Insert(name.Length()-5,tag);
00473     else name.Append(tag);
00474 
00475     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00476                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00477                             +1.0, 0.0, 0.0, 0.0,           // atmos
00478                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00479                             0.0, 0.0, 0.0, 0.0,            // atmos
00480                             name );  
00481 
00482 
00483     // Atmos Normalisation, Rock (m1)
00484     name = filename;
00485     tag = ".noosc.syst.atmos.norm.rock.m1";
00486 
00487     if( name.EndsWith(".root") ) 
00488       name.Insert(name.Length()-5,tag);
00489     else name.Append(tag);
00490 
00491     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00492                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00493                             0.0, -1.0, 0.0, 0.0,           // atmos
00494                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00495                             0.0, 0.0, 0.0, 0.0,            // atmos
00496                             name );  
00497 
00498     // Atmos Normalisation, Rock (p1)
00499     name = filename;
00500     tag = ".noosc.syst.atmos.norm.rock.p1";
00501 
00502     if( name.EndsWith(".root") ) 
00503       name.Insert(name.Length()-5,tag);
00504     else name.Append(tag);
00505 
00506     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00507                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00508                             0.0, +1.0, 0.0, 0.0,           // atmos
00509                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00510                             0.0, 0.0, 0.0, 0.0,            // atmos
00511                             name );  
00512 
00513     // Atmos Charge Ratio, CV (m1)
00514     name = filename;
00515     tag = ".noosc.syst.atmos.chg.cv.m1";
00516 
00517     if( name.EndsWith(".root") ) 
00518       name.Insert(name.Length()-5,tag);
00519     else name.Append(tag);
00520 
00521     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00522                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00523                             0.0, 0.0, -1.0, 0.0,           // atmos
00524                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00525                             0.0, 0.0, 0.0, 0.0,            // atmos
00526                             name );  
00527 
00528     // Atmos Charge Ratio, CV (p1)
00529     name = filename;
00530     tag = ".noosc.syst.atmos.chg.cv.p1";
00531 
00532     if( name.EndsWith(".root") ) 
00533       name.Insert(name.Length()-5,tag);
00534     else name.Append(tag);
00535 
00536     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00537                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00538                             0.0, 0.0, +1.0, 0.0,           // atmos
00539                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00540                             0.0, 0.0, 0.0, 0.0,            // atmos
00541                             name );  
00542 
00543     // Atmos Charge Ratio, Rock (m1)
00544     name = filename;
00545     tag = ".noosc.syst.atmos.chg.rock.m1";
00546 
00547     if( name.EndsWith(".root") ) 
00548       name.Insert(name.Length()-5,tag);
00549     else name.Append(tag);
00550 
00551     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00552                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00553                             0.0, 0.0, 0.0, -1.0,           // atmos
00554                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00555                             0.0, 0.0, 0.0, 0.0,            // atmos
00556                             name );  
00557 
00558     // Atmos Charge Ratio, Rock (p1)
00559     name = filename;
00560     tag = ".noosc.syst.atmos.chg.rock.p1";
00561 
00562     if( name.EndsWith(".root") ) 
00563       name.Insert(name.Length()-5,tag);
00564     else name.Append(tag);
00565 
00566     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00567                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00568                             0.0, 0.0, 0.0, +1.0,           // atmos
00569                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00570                             0.0, 0.0, 0.0, 0.0,            // atmos
00571                             name );  
00572 
00573 
00574     // Atmos Electron Neutrinos (m1)
00575     name = filename;
00576     tag = ".noosc.syst.atmos.nue.m1";
00577 
00578     if( name.EndsWith(".root") ) 
00579       name.Insert(name.Length()-5,tag);
00580     else name.Append(tag);
00581 
00582     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00583                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00584                             0.0, 0.0, 0.0, 0.0,            // atmos
00585                             -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, // atmos
00586                             0.0, 0.0, 0.0, 0.0,            // atmos
00587                             name );  
00588 
00589     // Atmos Electron Neutrinos (p1)
00590     name = filename;
00591     tag = ".noosc.syst.atmos.nue.p1";
00592 
00593     if( name.EndsWith(".root") ) 
00594       name.Insert(name.Length()-5,tag);
00595     else name.Append(tag);
00596 
00597     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00598                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00599                             0.0, 0.0, 0.0, 0.0,            // atmos
00600                             +1.0, 0.0, 0.0, 0.0, 0.0, 0.0, // atmos
00601                             0.0, 0.0, 0.0, 0.0,            // atmos
00602                             name );    
00603 
00604     // Atmos Neutral Currents (m1)
00605     name = filename;
00606     tag = ".noosc.syst.atmos.ccnc.m1";
00607 
00608     if( name.EndsWith(".root") ) 
00609       name.Insert(name.Length()-5,tag);
00610     else name.Append(tag);
00611 
00612     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00613                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00614                             0.0, 0.0, 0.0, 0.0,            // atmos
00615                             0.0, -1.0, 0.0, 0.0, 0.0, 0.0, // atmos
00616                             0.0, 0.0, 0.0, 0.0,            // atmos
00617                             name );  
00618 
00619     // Atmos Neutral Currents (p1)
00620     name = filename;
00621     tag = ".noosc.syst.atmos.ccnc.p1";
00622 
00623     if( name.EndsWith(".root") ) 
00624       name.Insert(name.Length()-5,tag);
00625     else name.Append(tag);
00626 
00627     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00628                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00629                             0.0, 0.0, 0.0, 0.0,            // atmos
00630                             0.0, +1.0, 0.0, 0.0, 0.0, 0.0, // atmos
00631                             0.0, 0.0, 0.0, 0.0,            // atmos
00632                             name );  
00633 
00634     // Atmos Spectrum, CV Neutrinos (m1)
00635     name = filename;
00636     tag = ".noosc.syst.atmos.spec.cv.nu.m1";
00637 
00638     if( name.EndsWith(".root") ) 
00639       name.Insert(name.Length()-5,tag);
00640     else name.Append(tag);
00641 
00642     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00643                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00644                             0.0, 0.0, 0.0, 0.0,            // atmos
00645                             0.0, 0.0, -1.0, 0.0, 0.0, 0.0, // atmos
00646                             0.0, 0.0, 0.0, 0.0,            // atmos
00647                             name );  
00648 
00649     // Atmos Spectrum, CV Neutrinos (p1)
00650     name = filename;
00651     tag = ".noosc.syst.atmos.spec.cv.nu.p1";
00652 
00653     if( name.EndsWith(".root") ) 
00654       name.Insert(name.Length()-5,tag);
00655     else name.Append(tag);
00656 
00657     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00658                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00659                             0.0, 0.0, 0.0, 0.0,            // atmos
00660                             0.0, 0.0, +1.0, 0.0, 0.0, 0.0, // atmos
00661                             0.0, 0.0, 0.0, 0.0,            // atmos
00662                             name );   
00663 
00664     // Atmos Spectrum, CV Anti-Neutrinos (m1)
00665     name = filename;
00666     tag = ".noosc.syst.atmos.spec.cv.nubar.m1";
00667 
00668     if( name.EndsWith(".root") ) 
00669       name.Insert(name.Length()-5,tag);
00670     else name.Append(tag);
00671 
00672     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00673                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00674                             0.0, 0.0, 0.0, 0.0,            // atmos
00675                             0.0, 0.0, 0.0, -1.0, 0.0, 0.0, // atmos
00676                             0.0, 0.0, 0.0, 0.0,            // atmos
00677                             name );  
00678 
00679     // Atmos Spectrum, CV Anti-Neutrinos (p1)
00680     name = filename;
00681     tag = ".noosc.syst.atmos.spec.cv.nubar.p1";
00682 
00683     if( name.EndsWith(".root") ) 
00684       name.Insert(name.Length()-5,tag);
00685     else name.Append(tag);
00686 
00687     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00688                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00689                             0.0, 0.0, 0.0, 0.0,            // atmos
00690                             0.0, 0.0, 0.0, +1.0, 0.0, 0.0, // atmos
00691                             0.0, 0.0, 0.0, 0.0,            // atmos
00692                             name );   
00693 
00694     // Atmos Spectrum, Rock Neutrinos (m1)
00695     name = filename;
00696     tag = ".noosc.syst.atmos.spec.rock.nu.m1";
00697 
00698     if( name.EndsWith(".root") ) 
00699       name.Insert(name.Length()-5,tag);
00700     else name.Append(tag);
00701 
00702     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00703                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00704                             0.0, 0.0, 0.0, 0.0,            // atmos
00705                             0.0, 0.0, 0.0, 0.0, -1.0, 0.0, // atmos
00706                             0.0, 0.0, 0.0, 0.0,            // atmos
00707                             name );  
00708 
00709     // Atmos Spectrum, Rock Neutrinos (p1)
00710     name = filename;
00711     tag = ".noosc.syst.atmos.spec.rock.nu.p1";
00712 
00713     if( name.EndsWith(".root") ) 
00714       name.Insert(name.Length()-5,tag);
00715     else name.Append(tag);
00716 
00717     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00718                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00719                             0.0, 0.0, 0.0, 0.0,            // atmos
00720                             0.0, 0.0, 0.0, 0.0, +1.0, 0.0, // atmos
00721                             0.0, 0.0, 0.0, 0.0,            // atmos
00722                             name );   
00723 
00724     // Atmos Spectrum, Rock Anti-Neutrinos (m1)
00725     name = filename;
00726     tag = ".noosc.syst.atmos.spec.rock.nubar.m1";
00727 
00728     if( name.EndsWith(".root") ) 
00729       name.Insert(name.Length()-5,tag);
00730     else name.Append(tag);
00731 
00732     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00733                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00734                             0.0, 0.0, 0.0, 0.0,            // atmos
00735                             0.0, 0.0, 0.0, 0.0, 0.0, -1.0, // atmos
00736                             0.0, 0.0, 0.0, 0.0,            // atmos
00737                             name );  
00738 
00739     // Atmos Spectrum, Rock Anti-Neutrinos (p1)
00740     name = filename;
00741     tag = ".noosc.syst.atmos.spec.rock.nubar.p1";
00742 
00743     if( name.EndsWith(".root") ) 
00744       name.Insert(name.Length()-5,tag);
00745     else name.Append(tag);
00746 
00747     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00748                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00749                             0.0, 0.0, 0.0, 0.0,            // atmos
00750                             0.0, 0.0, 0.0, 0.0, 0.0, +1.0, // atmos
00751                             0.0, 0.0, 0.0, 0.0,            // atmos
00752                             name );   
00753 
00754     // Atmos Up/Down Ratio (m1)
00755     name = filename;
00756     tag = ".noosc.syst.atmos.updn.m1";
00757 
00758     if( name.EndsWith(".root") ) 
00759       name.Insert(name.Length()-5,tag);
00760     else name.Append(tag);
00761 
00762     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00763                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00764                             0.0, 0.0, 0.0, 0.0,            // atmos
00765                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00766                             -1.0, 0.0, 0.0, 0.0,           // atmos
00767                             name );  
00768 
00769     // Atmos Up/Down Ratio  (p1)
00770     name = filename;
00771     tag = ".noosc.syst.atmos.updn.p1";
00772 
00773     if( name.EndsWith(".root") ) 
00774       name.Insert(name.Length()-5,tag);
00775     else name.Append(tag);
00776 
00777     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00778                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00779                             0.0, 0.0, 0.0, 0.0,            // atmos
00780                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00781                             +1.0, 0.0, 0.0, 0.0,           // atmos
00782                             name );  
00783 
00784     // Atmos Track Energy, Stopping (m1)
00785     name = filename;
00786     tag = ".noosc.syst.atmos.emu.stop.m1";
00787 
00788     if( name.EndsWith(".root") ) 
00789       name.Insert(name.Length()-5,tag);
00790     else name.Append(tag);
00791 
00792     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00793                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00794                             0.0, 0.0, 0.0, 0.0,            // atmos
00795                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00796                             0.0, -1.0, 0.0, 0.0,           // atmos
00797                             name );  
00798 
00799     // Atmos Track Energy, Stopping (p1)
00800     name = filename;
00801     tag = ".noosc.syst.atmos.emu.stop.p1";
00802 
00803     if( name.EndsWith(".root") ) 
00804       name.Insert(name.Length()-5,tag);
00805     else name.Append(tag);
00806 
00807     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00808                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00809                             0.0, 0.0, 0.0, 0.0,            // atmos
00810                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00811                             0.0, +1.0, 0.0, 0.0,           // atmos
00812                             name );  
00813 
00814     // Atmos Track Energy, Exiting (m1)
00815     name = filename;
00816     tag = ".noosc.syst.atmos.emu.exit.m1";
00817 
00818     if( name.EndsWith(".root") ) 
00819       name.Insert(name.Length()-5,tag);
00820     else name.Append(tag);
00821 
00822     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00823                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00824                             0.0, 0.0, 0.0, 0.0,            // atmos
00825                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00826                             0.0, 0.0, -1.0, 0.0,           // atmos
00827                             name );  
00828 
00829     // Atmos Track Energy, Exiting (p1)
00830     name = filename;
00831     tag = ".noosc.syst.atmos.emu.exit.p1";
00832 
00833     if( name.EndsWith(".root") ) 
00834       name.Insert(name.Length()-5,tag);
00835     else name.Append(tag);
00836 
00837     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00838                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00839                             0.0, 0.0, 0.0, 0.0,            // atmos
00840                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00841                             0.0, 0.0, +1.0, 0.0,           // atmos
00842                             name );  
00843 
00844     // Atmos Shower Energy (m1)
00845     name = filename;
00846     tag = ".noosc.syst.atmos.eshw.m1";
00847 
00848     if( name.EndsWith(".root") ) 
00849       name.Insert(name.Length()-5,tag);
00850     else name.Append(tag);
00851 
00852     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00853                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00854                             0.0, 0.0, 0.0, 0.0,            // atmos
00855                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00856                             0.0, 0.0, 0.0, -1.0,           // atmos
00857                             name );  
00858 
00859     // Atmos Shower Energy (p1)
00860     name = filename;
00861     tag = ".noosc.syst.atmos.eshw.p1";
00862 
00863     if( name.EndsWith(".root") ) 
00864       name.Insert(name.Length()-5,tag);
00865     else name.Append(tag);
00866 
00867     this->WriteExpectation( 0.0, 0.0,                      // dmsq, sinsq
00868                             0.0, 0.0, 0.0, 0.0, 0.0,       // beam
00869                             0.0, 0.0, 0.0, 0.0,            // atmos
00870                             0.0, 0.0, 0.0, 0.0, 0.0, 0.0,  // atmos
00871                             0.0, 0.0, 0.0, +1.0,           // atmos
00872                             name );  
00873 
00874   } // end of atmos systematics
00875 
00876   return;
00877 }

void TemplateWriter::WriteToFile ( TemplateArray tempArray,
const char *  filename 
)

Definition at line 342 of file twoflavours/TemplateWriter.cxx.

References AddToFile(), CloseFile(), OscFit::kData, OscFit::kNull, and OpenFile().

00343 {
00344   if( tempArray==0 ) return;
00345 
00346   std::cout << " *** TemplateWriter::WriteToFile(...) *** " << std::endl;
00347 
00348   this->OpenFile( filename );
00349 
00350   this->AddToFile( OscFit::kData, OscFit::kNull, tempArray );
00351 
00352   this->CloseFile();
00353 }

void TemplateWriter::WriteToFile ( Double_t  dmsq,
Double_t  sinsq,
Double_t  dmsqbar,
Double_t  sinsqbar,
Double_t  norm,
Double_t  ncbkg,
Double_t  shwen,
Double_t  trken,
const char *  filename 
)

Definition at line 205 of file twoflavours/TemplateWriter.cxx.

References AddToFile(), CloseFile(), fTemplateArray, Instance(), OscFit::kCCnu, OscFit::kCCnubar, OscFit::kCV, OscFit::kCVTau, OscFit::kData, OscFit::kNC, OscFit::kNull, OscFit::kRock, OscFit::kRockTau, and OpenFile().

00206 {
00207   std::cout << " *** TemplateWriter::WriteToFile(...) *** " << std::endl;
00208 
00209   std::cout << "  dmsq=" << dmsq << " sinsq=" << sinsq << std::endl
00210             << "  dmsqbar=" << dmsqbar << " sinsqbar=" << sinsqbar << std::endl
00211             << "  norm=" << norm << " ncbkg=" << ncbkg << std::endl
00212             << "  shwen=" << shwen << " trken=" << trken << std::endl;
00213 
00214   this->OpenFile( filename );
00215 
00216   // GetExpectation(...)
00217   // -------------------
00218   // Arguments: cv, cvtau, rock, rocktau,
00219   //            ccnu, ccnubar, nc, 
00220 
00221   // ALL
00222   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00223                                                   dmsqbar, sinsqbar,
00224                                                   1,1,1,1,
00225                                                   1,1,1,
00226                                                   norm, ncbkg,
00227                                                   shwen, trken,
00228                                                   fTemplateArray );
00229   this->AddToFile( OscFit::kData, OscFit::kNull, fTemplateArray );
00230 
00231   // CV, ALL
00232   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00233                                                   dmsqbar, sinsqbar,
00234                                                   1,1,0,0,
00235                                                   1,1,1,
00236                                                   norm, ncbkg,
00237                                                   shwen, trken,
00238                                                   fTemplateArray );
00239   this->AddToFile( OscFit::kCV, OscFit::kNull, fTemplateArray );
00240 
00241   // CV, NU CC 
00242   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00243                                                   dmsqbar, sinsqbar,
00244                                                   1,1,0,0,
00245                                                   1,0,0,
00246                                                   norm, ncbkg,
00247                                                   shwen, trken,
00248                                                   fTemplateArray );
00249   this->AddToFile( OscFit::kCV, OscFit::kCCnu, fTemplateArray );
00250 
00251   // CV, NUBAR CC
00252   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00253                                                   dmsqbar, sinsqbar,
00254                                                   1,1,0,0,
00255                                                   0,1,0,
00256                                                   norm, ncbkg,
00257                                                   shwen, trken,
00258                                                   fTemplateArray );
00259   this->AddToFile( OscFit::kCV, OscFit::kCCnubar, fTemplateArray );
00260  
00261   // CV, NC
00262   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00263                                                   dmsqbar, sinsqbar,
00264                                                   1,0,0,0,
00265                                                   0,0,1,
00266                                                   norm, ncbkg,
00267                                                   shwen, trken,
00268                                                   fTemplateArray );
00269   this->AddToFile( OscFit::kCV, OscFit::kNC, fTemplateArray );
00270 
00271   // CV, TAU
00272   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00273                                                   dmsqbar, sinsqbar,
00274                                                   0,1,0,0,
00275                                                   1,1,0,
00276                                                   norm, ncbkg,
00277                                                   shwen, trken,
00278                                                   fTemplateArray );
00279   this->AddToFile( OscFit::kCVTau, OscFit::kNull, fTemplateArray );
00280 
00281   // ROCK, ALL
00282   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00283                                                   dmsqbar, sinsqbar,
00284                                                   0,0,1,1,
00285                                                   1,1,1,
00286                                                   norm, ncbkg,
00287                                                   shwen, trken,
00288                                                   fTemplateArray );
00289   this->AddToFile( OscFit::kRock, OscFit::kNull, fTemplateArray );
00290 
00291   // ROCK, NU CC 
00292   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00293                                                   dmsqbar, sinsqbar,
00294                                                   0,0,1,1,
00295                                                   1,0,0,
00296                                                   norm, ncbkg,
00297                                                   shwen, trken,
00298                                                   fTemplateArray );
00299   this->AddToFile( OscFit::kRock, OscFit::kCCnu, fTemplateArray );
00300 
00301   // ROCK, NUBAR CC
00302   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00303                                                   dmsqbar, sinsqbar,
00304                                                   0,0,1,1,
00305                                                   0,1,0,
00306                                                   norm, ncbkg,
00307                                                   shwen, trken,
00308                                                   fTemplateArray );
00309   this->AddToFile( OscFit::kRock, OscFit::kCCnubar, fTemplateArray );
00310 
00311   // ROCK, NC
00312   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00313                                                   dmsqbar, sinsqbar,
00314                                                   0,0,1,0,
00315                                                   0,0,1,
00316                                                   norm, ncbkg,
00317                                                   shwen, trken,
00318                                                   fTemplateArray );
00319   this->AddToFile( OscFit::kRock, OscFit::kNC, fTemplateArray );
00320 
00321   // ROCK, TAU
00322   TemplateCalculator::Instance()->GetExpectation( dmsq, sinsq,
00323                                                   dmsqbar, sinsqbar,
00324                                                   0,0,0,1,
00325                                                   1,1,0,
00326                                                   norm, ncbkg,
00327                                                   shwen, trken,
00328                                                   fTemplateArray );
00329   this->AddToFile( OscFit::kRockTau, OscFit::kNull, fTemplateArray );
00330 
00331 
00332   this->CloseFile();
00333 }

void TemplateWriter::WriteToFile ( Double_t  dmsq,
Double_t  sinsq,
Double_t  dmsqbar,
Double_t  sinsqbar,
const char *  filename 
)

Definition at line 199 of file twoflavours/TemplateWriter.cxx.

References WriteToFile().

00200 {
00201   return this->WriteToFile( dmsq, sinsq, dmsqbar, sinsqbar,
00202                             0.0, 0.0, 0.0, 0.0, filename );
00203 }

void TemplateWriter::WriteToFile ( Double_t  dmsq,
Double_t  sinsq,
const char *  filename 
)

Definition at line 194 of file twoflavours/TemplateWriter.cxx.

References WriteToFile().

00195 {
00196   return this->WriteToFile( dmsq, sinsq, dmsq, sinsq, filename );
00197 }

void TemplateWriter::WriteToFile ( const char *  filename  ) 

Definition at line 189 of file twoflavours/TemplateWriter.cxx.

Referenced by WriteExpectation(), and WriteToFile().

00190 {
00191   return this->WriteToFile( 0.0, 0.0, filename );
00192 }


Member Data Documentation

TDirectory* OscFit::TemplateWriter::fDirHandle [private]

Definition at line 73 of file twoflavours/TemplateWriter.h.

Referenced by CloseFile(), and OpenFile().

Definition at line 74 of file twoflavours/TemplateWriter.h.

Referenced by CloseFile(), and OpenFile().

Definition at line 71 of file twoflavours/TemplateWriter.h.

Referenced by AddToFile().

Definition at line 66 of file twoflavours/TemplateWriter.h.

Referenced by WriteToFile().

Definition at line 67 of file twoflavours/TemplateWriter.h.

Referenced by AddToFile().

Definition at line 69 of file twoflavours/TemplateWriter.h.

Referenced by AddToFile().

Definition at line 70 of file twoflavours/TemplateWriter.h.

Referenced by AddToFile().


The documentation for this class was generated from the following files:

Generated on 17 Jun 2018 for loon by  doxygen 1.6.1