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

NuShiftableUnbinnedSpectrum Class Reference

#include <NuShiftableUnbinnedSpectrum.h>

Inheritance diagram for NuShiftableUnbinnedSpectrum:

NuShiftableSpectrum List of all members.

Public Member Functions

 NuShiftableUnbinnedSpectrum ()
 NuShiftableUnbinnedSpectrum (const std::string filename)
virtual void Charge (const Int_t charge)
virtual const Int_t Charge () const
virtual const TH1D Spectrum (const NuMMParameters &pars) const

Private Member Functions

virtual const TH1D Spectrum (const Double_t shift) const

Private Attributes

Int_t fCharge
NuBinningScheme::NuBinningScheme_t fBinningScheme
std::vector< NuMiniEventfEventList

Constructor & Destructor Documentation

NuShiftableUnbinnedSpectrum::NuShiftableUnbinnedSpectrum  ) 
 

Definition at line 17 of file NuShiftableUnbinnedSpectrum.cxx.

00018   : NuShiftableSpectrum(),
00019     fCharge(1),
00020     fBinningScheme(NuBinningScheme::kNuMuBar0325Std2)
00021 {
00022 }

NuShiftableUnbinnedSpectrum::NuShiftableUnbinnedSpectrum const std::string  filename  ) 
 

Definition at line 26 of file NuShiftableUnbinnedSpectrum.cxx.

References NuFCEvent::charge, NuFCEvent::energy, MSG, NuMiniEvent::recoNuEnergy, NuMiniEvent::recoTrackEnergy, and NuFCEvent::trkEn.

00027   : NuShiftableSpectrum(),
00028     fCharge(1)
00029 {
00030   /*
00031   const NuTreeWrapper dst(filename);
00032   this->PoT(dst.GetPoT());
00033   Int_t numEntries = dst.GetEntries();
00034   for (Int_t entry=0; entry<numEntries; ++entry){
00035     NuEvent event = dst.GetInfoObject(entry);
00036     if (event.charge == fCharge || 0==fCharge){
00037       NuMiniEvent miniEvent;
00038       miniEvent.recoTrackEnergy = event.trkEn;
00039       miniEvent.recoNuEnergy = event.energy;
00040       fEventList.push_back(miniEvent);
00041     }
00042   }
00043   */
00044   TChain fcDST("FCTree");
00045   fcDST.Add(filename.c_str());
00046   NuFCEvent* fcEvent = 0;
00047   fcDST.SetBranchAddress("NuFCEvent",&fcEvent);
00048   Int_t numEntries = fcDST.GetEntries();
00049   for (Int_t entry=0; entry<numEntries; ++entry){
00050     fcDST.GetEvent(entry);
00051     if (this->Charge() == fcEvent->charge || 0==this->Charge()){
00052       NuMiniEvent miniEvent;
00053       miniEvent.recoTrackEnergy = fcEvent->trkEn;
00054       miniEvent.recoNuEnergy = fcEvent->energy;
00055       fEventList.push_back(miniEvent);
00056     }
00057   }
00058   
00059   TObjArray* fileList = fcDST.GetListOfFiles();
00060   Double_t totPoT = 0.0;
00061   for (Int_t counter=0; counter<fileList->GetEntries(); ++counter){
00062     TChainElement* chainElement =
00063       dynamic_cast<TChainElement*> (fileList->At(counter));
00064     if (chainElement){
00065       string fileName = chainElement->GetTitle();
00066       TFile f(fileName.c_str(),"READ");
00067       TH1F* hTotalPot = (TH1F*) f.Get("hTotalPot");
00068       if (hTotalPot){
00069         totPoT += hTotalPot->Integral();
00070       }
00071       f.Close();
00072     }
00073   }
00074   this->PoT(totPoT);
00075   MSG("NuTreeWrapper.cxx",Msg::kInfo)
00076     << "PoT: " << totPoT << endl;
00077 }


Member Function Documentation

virtual const Int_t NuShiftableUnbinnedSpectrum::Charge  )  const [inline, virtual]
 

Definition at line 24 of file NuShiftableUnbinnedSpectrum.h.

00024 {return fCharge;};

virtual void NuShiftableUnbinnedSpectrum::Charge const Int_t  charge  )  [inline, virtual]
 

Definition at line 23 of file NuShiftableUnbinnedSpectrum.h.

References fCharge.

00023 {fCharge=charge;};

const TH1D NuShiftableUnbinnedSpectrum::Spectrum const Double_t  shift  )  const [private, virtual]
 

Implements NuShiftableSpectrum.

Definition at line 86 of file NuShiftableUnbinnedSpectrum.cxx.

References fBinningScheme, fEventList, and NuUtilities::RecoBins().

00087 {
00088   const NuUtilities utils;
00089   const vector<Double_t> recoBins = utils.RecoBins(fBinningScheme);
00090   const Int_t numRecoBins = recoBins.size()-1;
00091   Float_t *recoBinsArray;
00092   recoBinsArray=new Float_t[numRecoBins+1];
00093   {
00094     Int_t i=0;
00095     for (vector<Double_t>::const_iterator itBin = recoBins.begin();
00096          itBin != recoBins.end();
00097          ++itBin, ++i){
00098       recoBinsArray[i] = *itBin;
00099     }
00100   }
00101   TH1D outSpectrum("RecoEnergy_FD","",
00102                    numRecoBins,recoBinsArray);
00103 
00104   for (vector<NuMiniEvent>::const_iterator it = fEventList.begin();
00105        it != fEventList.end();
00106        ++it){
00107     Double_t energy = it->recoNuEnergy;
00108     Double_t trkEn = it->recoTrackEnergy;
00109     Double_t shiftedEnergy = energy + shift*trkEn;
00110     outSpectrum.Fill(shiftedEnergy);
00111   }
00112 
00113   return outSpectrum;
00114 }

const TH1D NuShiftableUnbinnedSpectrum::Spectrum const NuMMParameters pars  )  const [virtual]
 

Implements NuShiftableSpectrum.

Definition at line 80 of file NuShiftableUnbinnedSpectrum.cxx.

References NuMMParameters::ShwEnScale().

00081 {
00082   return this->Spectrum(pars.ShwEnScale());
00083 }


Member Data Documentation

NuBinningScheme::NuBinningScheme_t NuShiftableUnbinnedSpectrum::fBinningScheme [private]
 

Definition at line 29 of file NuShiftableUnbinnedSpectrum.h.

Referenced by Spectrum().

Int_t NuShiftableUnbinnedSpectrum::fCharge [private]
 

Definition at line 28 of file NuShiftableUnbinnedSpectrum.h.

Referenced by Charge().

std::vector<NuMiniEvent> NuShiftableUnbinnedSpectrum::fEventList [private]
 

Definition at line 30 of file NuShiftableUnbinnedSpectrum.h.

Referenced by Spectrum().


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