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

Trimmer Class Reference

#include <Trimmer.h>

List of all members.

Public Member Functions

 Trimmer ()
void AddFiles (string files)
void SetOutputFile (string name)
void Config (Registry &r)
void SetCuts (string type, int level=0)
bool EvaluateCuts (NueRecord *nr)
void RunTrimmer ()
void SetDeltaMSquare (double dm2)
void SetUe3Square (double dUe32)
void SetTheta23 (double t23)
void SetBaseline (double bl)
void RecalculatePOT ()
void SeparatebyRunPeriod ()

Private Attributes

string outFile
bool outSet
vector< string > files
NueAnalysisCuts fCuts
double fDeltaMSquare
double fUe3Square
double fTheta23
double fBaseline
bool fReweight
string cutSet
int cutLevel
bool fOverWritePOT
bool separatebyRunPeriod


Constructor & Destructor Documentation

Trimmer::Trimmer  ) 
 

Definition at line 6 of file Trimmer.cxx.

References fBaseline, fDeltaMSquare, fOverWritePOT, fReweight, fTheta23, fUe3Square, outSet, and separatebyRunPeriod.

00006                 { 
00007   outSet = false;
00008   fReweight = false;
00009   fBaseline = 735;
00010   fDeltaMSquare = 0.0027;
00011   fUe3Square = 0.025;
00012   fTheta23 = TMath::Pi()/4;
00013 
00014   fOverWritePOT = false;
00015   separatebyRunPeriod = false;
00016 }


Member Function Documentation

void Trimmer::AddFiles string  files  ) 
 

Definition at line 18 of file Trimmer.cxx.

References files.

00019 {
00020    files.push_back(infiles);
00021 }

void Trimmer::Config Registry r  ) 
 

Definition at line 29 of file Trimmer.cxx.

References NueAnalysisCuts::Config(), and fCuts.

00030 {
00031   fCuts.Config(r);
00032 }

bool Trimmer::EvaluateCuts NueRecord nr  ) 
 

Definition at line 419 of file Trimmer.cxx.

References cutLevel, cutSet, NueStandard::GetPIDValue(), NueStandard::IsGoodRun(), NueStandard::IsInFid(), NueStandard::PassesMREFiducial(), NueStandard::PassesNonHEPreSelection(), NueStandard::PassesPreSelectionTrackCuts(), NueStandard::PassesSelection(), NueStandard::PassesSysPreSelection(), and NueStandard::PassesSysPreSelectionNoHE().

Referenced by RunTrimmer().

00420 {
00421         //just for merging files!
00422    if(cutSet == "Merge")
00423         return true;
00424 
00425    if(cutSet == "Fiducial") 
00426      return NueStandard::IsInFid(nr);
00427 
00428    if(cutSet == "Standard"){
00429       bool ret;
00430       switch(cutLevel){
00431         case 0: return NueStandard::PassesSelection(nr, Selection::kDataQual);
00432         case 1: return NueStandard::PassesSelection(nr, Selection::kFid);
00433         case 2: return NueStandard::PassesSelection(nr, Selection::kBasic);
00434         case 3: 
00435              ret = NueStandard::PassesSelection(nr, Selection::kBasic);
00436              ret = ret && NueStandard::PassesPreSelectionTrackCuts(nr);
00437              return ret;
00438         case 4: 
00439              ret = NueStandard::PassesSelection(nr, Selection::kBasic);
00440              ret = ret &&  NueStandard::PassesNonHEPreSelection(nr);
00441              return ret;
00442         case 5: return NueStandard::PassesSelection(nr, Selection::kPre);
00443       }
00444    }
00445    if(cutSet == "MRE" || cutSet == "MRCC"){
00446       bool dq = NueStandard::PassesSelection(nr, Selection::kDataQual);
00447       bool mrefid = NueStandard::PassesMREFiducial(nr);
00448       bool ret;
00449       switch(cutLevel){
00450         case 0: return dq && NueStandard::IsInFid(nr);
00451         case 1: return mrefid && dq && NueStandard::IsInFid(nr);
00452         case 2: 
00453           return NueStandard::PassesSelection(nr, Selection::kFid);//includes mrcc presel & mrcc fiducial
00454         case 3: return NueStandard::PassesSelection(nr,Selection::kBasic);
00455         case 4:
00456              ret = NueStandard::PassesSelection(nr,Selection::kBasic);
00457              ret = ret && NueStandard::PassesPreSelectionTrackCuts(nr);
00458              return ret;
00459         case 5:
00460              ret = NueStandard::PassesSelection(nr, Selection::kBasic);
00461              ret = ret &&  NueStandard::PassesNonHEPreSelection(nr);
00462              return ret;
00463         case 6: 
00464          return NueStandard::PassesSelection(nr, Selection::kPre);
00465       }
00466    }
00467    if(cutSet == "Presel")
00468       return NueStandard::PassesSelection(nr, Selection::kPre);
00469 
00470    if(cutSet == "PreselNoHE")
00471       return  NueStandard::PassesNonHEPreSelection(nr);
00472 
00473    if(cutSet == "Systematic"){
00474       // O - standard systematic envelope
00475       // 1 - standard systematic w/out HE cut
00476       if(!NueStandard::IsInFid(nr)) return false;
00477 
00478       switch(cutLevel){
00479         case 0: return NueStandard::PassesSysPreSelection(nr);
00480         case 1: return NueStandard::PassesSysPreSelectionNoHE(nr);
00481       }
00482    }
00483 
00484 
00485    if(cutSet == "CC")
00486       return NueStandard::PassesSelection(nr, Selection::kCC);
00487    
00488    if(cutSet == "GoodRun")
00489      return NueStandard::IsGoodRun(nr);
00490    
00491    if(cutSet == "AntiANN11")
00492    {
00493      if(NueStandard::PassesSelection(nr, Selection::kPre) && NueStandard::GetPIDValue(nr,Selection::kANN2PE)<0.55)
00494      {
00495        return true;
00496      }
00497      else
00498      {
00499        return false;
00500      }
00501    }
00502    
00503    if(cutSet == "AntiMCNN")
00504    {
00505      if(NueStandard::PassesSelection(nr, Selection::kPre) && NueStandard::GetPIDValue(nr,Selection::kMCNN)<0.55)
00506      {
00507        return true;
00508      }
00509      else
00510      {
00511        return false;
00512      }
00513    }
00514    
00515   cout<<"Invalid Cut Level for "<<cutSet<<": "<<cutLevel<<endl;
00516   return false;
00517 }

void Trimmer::RecalculatePOT  )  [inline]
 

Definition at line 32 of file Trimmer.h.

00032 {fOverWritePOT = true;};

void Trimmer::RunTrimmer  ) 
 

Definition at line 39 of file Trimmer.cxx.

References base, NuePOT::beamtype, beamtype, BeamMon::bI, NueRecord::bmon, count, ANtpTruthInfoBeamNue::DeltamSquared23, det, EvaluateCuts(), NueRecord::eventq, fDeltaMSquare, files, ANtpTruthInfoBeamNue::fOscProb, fOverWritePOT, fReweight, fTheta23, fUe3Square, NueHeader::GetBeamType(), VldContext::GetDetector(), NueHeader::GetEventNo(), NueHeader::GetEvents(), RecRecordImp< T >::GetHeader(), MCInfo::GetMCPoT(), NueHeader::GetRelease(), NueHeader::GetRun(), VldTimeStamp::GetSec(), VldContext::GetSimFlag(), VldContext::GetTimeStamp(), RecHeader::GetVldContext(), DataUtil::IsGoodData(), isMC, NueRecord::mctrue, NueStandard::ModifyANNPID(), ANtpTruthInfoBeam::nonOscNuFlavor, NuePOT::nruns, NuePOT::nsnarls, NueConvention::NueEnergyCorrection(), ANtpTruthInfo::nuEnergy, ANtpTruthInfo::nuFlavor, NueConvention::Oscillate(), outFile, NueStandard::PassesPOTStandards(), EventQual::passFarDetQuality, EventQual::passNearDetQuality, NuePOT::pot, NuePOT::pot_nocut, separatebyRunPeriod, ANtpTruthInfoBeamNue::Theta23, and ANtpTruthInfoBeamNue::Ue3Squared.

00040 {
00041   
00042   NueRecord *nr = new NueRecord();
00043   NuePOT *np = new NuePOT();
00044 
00045   TChain *chain = new TChain("ana_nue");
00046   chain->SetBranchAddress("NueRecord",&nr);
00047                                                                         
00048   TChain *pchain = new TChain("pottree");
00049   pchain->SetBranchAddress("NuePOT", &np);
00050  
00051   for(unsigned int i = 0; i < files.size(); i++)
00052   {
00053       chain->Add(files[i].c_str());
00054       pchain->Add(files[i].c_str());
00055   }
00056   
00057   if(!outSet){
00058      string file;
00059                                                                         
00060      if(pchain->GetEntries() > 0){
00061         pchain->GetEntry(0);
00062         file = pchain->GetFile()->GetName();
00063      }
00064      string minifile = file.substr(file.find_last_of("/")+1, file.find_last_of(".root")-file.find_last_of("/") - 5);
00065      minifile += "-Trim.root";
00066   
00067      outFile = minifile;
00068   }
00069   if(outFile == "-Trim.root"){
00070      cout<<"No input file found"<<endl; 
00071      return;
00072   }
00073   
00074   string out1,out2,out3;
00075   if(separatebyRunPeriod)
00076   {
00077     string base = outFile.substr(0,outFile.size()-5);//strip off '.root' and add label for run period
00078     out1 = base + "_RunPeriod1.root";
00079     out2 = base + "_RunPeriod2.root";
00080     out3 = base + "_RunPeriod3.root";
00081     cout<<"Setting output to:"<<endl;
00082     cout<<out1<<endl;
00083     cout<<out2<<endl;
00084     cout<<out3<<endl;
00085   }
00086   else
00087   {
00088     cout<<"Setting output to "<<outFile<<endl;
00089     out1 = outFile;
00090   }
00091 
00092   // And now the actual looping
00093   
00094   TFile *f1 = new TFile(out1.c_str(),"RECREATE");
00095   TFile *f2=0,*f3=0;
00096   if(separatebyRunPeriod)
00097   {
00098     f2 = new TFile(out2.c_str(),"RECREATE");
00099     f3 = new TFile(out3.c_str(),"RECREATE");
00100   }
00101   
00102   f1->cd();
00103   TTree *tree1 = new TTree("ana_nue","ana_nue");
00104   TTree::SetBranchStyle(1);
00105   TBranch* br1 = tree1->Branch("NueRecord","NueRecord", &nr );
00106   br1->SetAutoDelete(kFALSE);
00107   
00108   TTree *tree2=0;
00109   TTree *tree3=0;
00110   TBranch* br2=0;
00111   TBranch* br3=0;
00112   if(separatebyRunPeriod)
00113   {
00114     f2->cd();
00115     tree2 = new TTree("ana_nue","ana_nue");
00116     br2 = tree2->Branch("NueRecord","NueRecord", &nr );
00117     br2->SetAutoDelete(kFALSE);
00118     
00119     f3->cd();
00120     tree3 = new TTree("ana_nue","ana_nue");
00121     br3 = tree3->Branch("NueRecord","NueRecord", &nr );
00122     br3->SetAutoDelete(kFALSE);
00123   }
00124   
00125   bool isRunPeriod1=false;
00126   bool isRunPeriod2=false;
00127   bool isRunPeriod3=false;
00128   
00129   Int_t n = chain->GetEntries();
00130   int count = 0;
00131 
00132   bool isMC = false;
00133   
00134   //for recalculating the pot tree for each run period
00135   double TotPOT1 = 0.0,TotPOT2 = 0.0,TotPOT3 = 0.0;
00136   double TotPOT1_nocut = 0.0,TotPOT2_nocut = 0.0,TotPOT3_nocut = 0.0;
00137   Int_t nruns=0;
00138   Int_t nsnarls1=0,nsnarls2=0,nsnarls3=0;
00139   
00140   int lastrun=-1;
00141   
00142   chain->GetEntry(0);
00143   ReleaseType::Release_t rel = nr->GetHeader().GetRelease();
00144   BeamType::BeamType_t beamtype = nr->GetHeader().GetBeamType();
00145   Detector::Detector_t det = nr->GetHeader().GetVldContext().GetDetector();
00146   
00147   for(int i=0;i<n;i++){
00148     if(i%10000==0) cout << 100*float(i)/float(n)
00149                        << "% done" << endl;
00150     chain->GetEvent(i);
00151     
00152     NueConvention::NueEnergyCorrection(nr);
00153     NueStandard::ModifyANNPID(nr);
00154     
00155     nr->eventq.passFarDetQuality = DataUtil::IsGoodData(nr->GetHeader().GetVldContext());
00156     nr->eventq.passNearDetQuality = nr->eventq.passFarDetQuality;
00157     
00158     if(i == 0){
00159       SimFlag::SimFlag_t sim = nr->GetHeader().GetVldContext().GetSimFlag();
00160       isMC = (sim == SimFlag::kMC);
00161     }
00162     
00163     if(separatebyRunPeriod && !isMC)
00164     {
00165       cout<<"'separatebyRunPeriod' option is not meant to be used for data - pottree would not be calculated correctly for data.  Qutting..."<<endl;
00166       return;
00167     }
00168     
00169     //sanity check
00170     if(NueStandard::PassesPOTStandards(nr))
00171     {
00172       if(nr->GetHeader().GetEventNo() == 0 || nr->GetHeader().GetEvents() == 0)
00173       {
00174         if(nr->bmon.bI < 0 && !isMC) cout<<"Unexpected behavior"<<endl;
00175       }
00176     }
00177    
00178     isRunPeriod1=false;
00179     isRunPeriod2=false;
00180     isRunPeriod3=false;
00181     if(separatebyRunPeriod)
00182     {
00183       if(nr->GetHeader().GetVldContext().GetTimeStamp().GetSec()<1145036420)
00184       {
00185         isRunPeriod1=true;
00186       }
00187       else if(nr->GetHeader().GetVldContext().GetTimeStamp().GetSec()<1190028111)
00188       {
00189         isRunPeriod2=true;
00190       }
00191       else
00192       {
00193         isRunPeriod3=true;
00194       }
00195     }
00196     
00197     if(separatebyRunPeriod)//recalculating pottree; this part works only for MC
00198     {
00199       if(nr->GetHeader().GetEventNo() == 0 || nr->GetHeader().GetEvents() == 0)//for each snarl
00200       {
00201         if(isRunPeriod1)
00202         {
00203           if(det==Detector::kNear)//this only works for ND MC
00204           {
00205             TotPOT1_nocut += MCInfo::GetMCPoT(det, beamtype, rel);
00206             TotPOT1 += MCInfo::GetMCPoT(det, beamtype, rel);
00207           }
00208           
00209           nsnarls1++;//count the snarls per run period
00210         }
00211         if(isRunPeriod2)
00212         {
00213           if(det==Detector::kNear)//this only works for ND MC
00214           {
00215             TotPOT2_nocut += MCInfo::GetMCPoT(det, beamtype, rel);
00216             TotPOT2 += MCInfo::GetMCPoT(det, beamtype, rel);
00217           }
00218           
00219           nsnarls2++;
00220         }
00221         if(isRunPeriod3)
00222         {
00223           if(det==Detector::kNear)//this only works for ND MC
00224           {
00225             TotPOT3_nocut += MCInfo::GetMCPoT(det, beamtype, rel);
00226             TotPOT3 += MCInfo::GetMCPoT(det, beamtype, rel);
00227           }
00228           
00229           nsnarls3++;
00230         }
00231       }
00232       
00233       if(nr->GetHeader().GetRun()!=lastrun)//counting runs - BUT not counting separately for each run period!!
00234       {
00235         lastrun = nr->GetHeader().GetRun();
00236         nruns++;
00237         
00238         if(det==Detector::kFar)//in FD MC, each run is a single file, and GetMCPoT returns pot/file
00239         {
00240           if(isRunPeriod1)
00241           {
00242             TotPOT1_nocut += MCInfo::GetMCPoT(det, beamtype, rel);
00243             TotPOT1 += MCInfo::GetMCPoT(det, beamtype, rel);
00244           }
00245           if(isRunPeriod2)
00246           {
00247             TotPOT2_nocut += MCInfo::GetMCPoT(det, beamtype, rel);
00248             TotPOT2 += MCInfo::GetMCPoT(det, beamtype, rel);
00249           }
00250           if(isRunPeriod3)
00251           {
00252             TotPOT3_nocut += MCInfo::GetMCPoT(det, beamtype, rel);
00253             TotPOT3 += MCInfo::GetMCPoT(det, beamtype, rel);
00254           }
00255         }
00256       }
00257     }
00258     
00259     if(fOverWritePOT && !isMC)//recalculating POT for data
00260     {
00261       if(NueStandard::PassesPOTStandards(nr))
00262       {
00263         if(nr->GetHeader().GetEventNo() == 0 || nr->GetHeader().GetEvents() == 0)
00264         {
00265           TotPOT1 += nr->bmon.bI;
00266         }
00267       }
00268     }
00269     
00270     if(EvaluateCuts(nr)){
00271        if(fReweight && nr->mctrue.nuFlavor > -10)
00272        {
00273           int nuFlavor = nr->mctrue.nuFlavor;
00274           int  nonOsc = nr->mctrue.nonOscNuFlavor;
00275           float energy = nr->mctrue.nuEnergy;
00276                                                                                 
00277           Float_t newWeight = NueConvention::Oscillate(nuFlavor, nonOsc, energy,                                735, fDeltaMSquare, fTheta23, fUe3Square);
00278                                                                                 
00279           nr->mctrue.Ue3Squared = fUe3Square;
00280           nr->mctrue.DeltamSquared23 = fDeltaMSquare;
00281           nr->mctrue.Theta23  = fTheta23;
00282           nr->mctrue.fOscProb = newWeight;
00283        }
00284        
00285        if(separatebyRunPeriod)
00286        {
00287          if(isRunPeriod1)
00288          {
00289            tree1->Fill();
00290          }
00291          if(isRunPeriod2)
00292          {
00293            tree2->Fill();
00294          }
00295          if(isRunPeriod3)
00296          {
00297            tree3->Fill();
00298          }
00299        }
00300        else
00301        {
00302          tree1->Fill();
00303        }
00304        count++;
00305     }
00306   }
00307   cout<<count<<" of "<<n<<" entries were passed"<<endl;
00308   
00309   f1->cd();
00310   NuePOT *total1 = new NuePOT();
00311   TTree *ptree1 = new TTree("pottree","pottree");
00312   TBranch* brp1 = ptree1->Branch("NuePOT","NuePOT", &total1 );
00313   brp1->SetAutoDelete(kFALSE);
00314   
00315   NuePOT *total2=0,*total3=0;
00316   TTree *ptree2=0,*ptree3=0;
00317   TBranch *brp2=0,*brp3=0;
00318   if(separatebyRunPeriod)
00319   {
00320     f2->cd();
00321     total2 = new NuePOT();
00322     ptree2 = new TTree("pottree","pottree");
00323     brp2 = ptree2->Branch("NuePOT","NuePOT", &total2 );
00324     brp2->SetAutoDelete(kFALSE);
00325     
00326     f3->cd();
00327     total3 = new NuePOT();
00328     ptree3 = new TTree("pottree","pottree");
00329     brp3 = ptree3->Branch("NuePOT","NuePOT", &total3 );
00330     brp3->SetAutoDelete(kFALSE);
00331   }
00332   
00333   if(pchain->GetEntries() > 0){
00334     pchain->GetEntry(0);
00335     total1->beamtype = np->beamtype;
00336     if(separatebyRunPeriod)
00337     {
00338       total2->beamtype = np->beamtype;
00339       total3->beamtype = np->beamtype;
00340     }
00341   }
00342   
00343   for(int i = 0; i < pchain->GetEntries(); i++)
00344   {
00345      pchain->GetEntry(i);
00346      
00347      if(total1->beamtype != np->beamtype)
00348      {
00349        cerr<<"You are merging files of different beamtype - BAD"<<endl;
00350      }
00351      
00352      total1->nruns +=  np->nruns;
00353      total1->nsnarls +=  np->nsnarls;
00354      total1->pot += np->pot;
00355      total1->pot_nocut += np->pot_nocut;
00356   }
00357 
00358   if(fOverWritePOT && !isMC) total1->pot = TotPOT1;
00359   
00360   if(separatebyRunPeriod)//recalculating pottree
00361   {
00362     total1->pot = TotPOT1;
00363     total2->pot = TotPOT2;
00364     total3->pot = TotPOT3;
00365     
00366     total1->pot_nocut = TotPOT1_nocut;
00367     total2->pot_nocut = TotPOT2_nocut;
00368     total3->pot_nocut = TotPOT3_nocut;
00369     
00370     total1->nruns = nruns;
00371     total2->nruns = nruns;
00372     total3->nruns = nruns;
00373     
00374     total1->nsnarls = nsnarls1;
00375     total2->nsnarls = nsnarls2;
00376     total3->nsnarls = nsnarls3;
00377   }
00378   
00379   //fill the pottree
00380   ptree1->Fill();
00381   if(separatebyRunPeriod)
00382   {
00383     ptree2->Fill();
00384     ptree3->Fill();
00385   }
00386   
00387   //save the file(s)
00388   f1->cd();
00389   tree1->Write("ana_nue",TObject::kWriteDelete);
00390   ptree1->Write("pottree",TObject::kWriteDelete);
00391   if(separatebyRunPeriod)
00392   {
00393     f2->cd();
00394     tree2->Write("ana_nue",TObject::kWriteDelete);
00395     ptree2->Write("pottree",TObject::kWriteDelete);
00396     
00397     f3->cd();
00398     tree3->Write("ana_nue",TObject::kWriteDelete);
00399     ptree3->Write("pottree",TObject::kWriteDelete);
00400   }
00401   
00402   f1->Close();
00403   if(separatebyRunPeriod)
00404   {
00405     f2->Close();
00406     f3->Close();
00407   }
00408   
00409   
00410   cout<<"Trimming completed with "<<np->pot<<"x10^12 POT"<<endl;
00411 }

void Trimmer::SeparatebyRunPeriod  )  [inline]
 

Definition at line 33 of file Trimmer.h.

00033 {separatebyRunPeriod = true;};

void Trimmer::SetBaseline double  bl  ) 
 

Definition at line 37 of file Trimmer.cxx.

References fBaseline, and fReweight.

00037 { fBaseline = bl; fReweight = true;}

void Trimmer::SetCuts string  type,
int  level = 0
 

Definition at line 413 of file Trimmer.cxx.

References cutLevel, and cutSet.

00414 {
00415    cutSet = type;
00416    cutLevel = level;   
00417 }

void Trimmer::SetDeltaMSquare double  dm2  ) 
 

Definition at line 34 of file Trimmer.cxx.

References fDeltaMSquare, and fReweight.

00034 { fDeltaMSquare = dm2; fReweight = true;}

void Trimmer::SetOutputFile string  name  ) 
 

Definition at line 23 of file Trimmer.cxx.

References outFile, and outSet.

00024 {
00025    outSet = true;
00026    outFile = file;
00027 }

void Trimmer::SetTheta23 double  t23  ) 
 

Definition at line 36 of file Trimmer.cxx.

References fReweight, and fTheta23.

00036 { fTheta23 = t23; fReweight = true;}

void Trimmer::SetUe3Square double  dUe32  ) 
 

Definition at line 35 of file Trimmer.cxx.

References fReweight, and fUe3Square.

00035 { fUe3Square = dUe32; fReweight = true;}


Member Data Documentation

int Trimmer::cutLevel [private]
 

Definition at line 48 of file Trimmer.h.

Referenced by EvaluateCuts(), and SetCuts().

string Trimmer::cutSet [private]
 

Definition at line 47 of file Trimmer.h.

Referenced by EvaluateCuts(), and SetCuts().

double Trimmer::fBaseline [private]
 

Definition at line 44 of file Trimmer.h.

Referenced by SetBaseline(), and Trimmer().

NueAnalysisCuts Trimmer::fCuts [private]
 

Definition at line 39 of file Trimmer.h.

Referenced by Config().

double Trimmer::fDeltaMSquare [private]
 

Definition at line 41 of file Trimmer.h.

Referenced by RunTrimmer(), SetDeltaMSquare(), and Trimmer().

vector<string> Trimmer::files [private]
 

Definition at line 38 of file Trimmer.h.

Referenced by AddFiles(), and RunTrimmer().

bool Trimmer::fOverWritePOT [private]
 

Definition at line 50 of file Trimmer.h.

Referenced by RunTrimmer(), and Trimmer().

bool Trimmer::fReweight [private]
 

Definition at line 45 of file Trimmer.h.

Referenced by RunTrimmer(), SetBaseline(), SetDeltaMSquare(), SetTheta23(), SetUe3Square(), and Trimmer().

double Trimmer::fTheta23 [private]
 

Definition at line 43 of file Trimmer.h.

Referenced by RunTrimmer(), SetTheta23(), and Trimmer().

double Trimmer::fUe3Square [private]
 

Definition at line 42 of file Trimmer.h.

Referenced by RunTrimmer(), SetUe3Square(), and Trimmer().

string Trimmer::outFile [private]
 

Definition at line 36 of file Trimmer.h.

Referenced by RunTrimmer(), and SetOutputFile().

bool Trimmer::outSet [private]
 

Definition at line 37 of file Trimmer.h.

Referenced by SetOutputFile(), and Trimmer().

bool Trimmer::separatebyRunPeriod [private]
 

Definition at line 51 of file Trimmer.h.

Referenced by RunTrimmer(), and Trimmer().


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