FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndMvdEventAna Class Referenceabstract

#include <PndMvdEventAna.h>

Inheritance diagram for PndMvdEventAna:
PndMvdAllDataEventAna PndMvdDigiEventAna PndMvdMCEventAna

Public Member Functions

 PndMvdEventAna ()
 
 PndMvdEventAna (TString fileName)
 
virtual ~PndMvdEventAna ()
 
virtual void Init (TString fileName)
 
void InitCanvas ()
 
void AnaEvents (Int_t count)
 
void AnaEventNr (Int_t Nr)
 
void NextEvent ()
 
void DrawHistos ()
 
void DrawHisto (TString path, TString opt="")
 
void SetCanvasColumns (Int_t col)
 
void SetDrawOption (TString histoName, TString option)
 
void SetSelection (TString sel)
 
void FillVector ()
 
void DrawVector (Int_t index, TString opt)
 
Int_t GetEventNr () const
 
TString GetSelection () const
 
TH1 * GetHisto (TString histoName)
 
TH1 * GetHisto (Int_t i)
 
virtual void InitBranch ()=0
 
virtual void InitHistos ()=0
 
virtual void AnaHits ()
 
virtual void AnaHitNr (Int_t i)
 
virtual void BeginOfEventAction ()
 
virtual void EndOfEventAction ()
 
virtual void ClearHistos ()
 

Protected Member Functions

 ClassDef (PndMvdEventAna, 1)
 

Protected Attributes

Int_t fActiveEvent
 
Int_t fAnaEvents
 
TFile * fFile
 
TTree * fTree
 
TClonesArray * fHitArray
 
TString fClassName
 
TString fBranchName
 
TString fSelection
 
TCanvas * fCan
 
std::map< TString, TH1 * > fHistos
 
std::map< TString, TStringfDrawOption
 
std::vector< TH1 * > fHistoVector
 
Int_t fCancol
 
PndGeoHandlingfGeoH
 

Detailed Description

PndMvdEventAna.h

Author
t.stockmanns Abstract base clas for data analysis

Definition at line 33 of file PndMvdEventAna.h.

Constructor & Destructor Documentation

PndMvdEventAna::PndMvdEventAna ( )
inline

Definition at line 35 of file PndMvdEventAna.h.

35 {};
PndMvdEventAna::PndMvdEventAna ( TString  fileName)

Definition at line 8 of file PndMvdEventAna.cxx.

9 {
10  fActiveEvent = 0;
11  fAnaEvents = 0;
12  fCan = 0;
13  fCancol = 2;
14 }
TCanvas * fCan
virtual PndMvdEventAna::~PndMvdEventAna ( )
inlinevirtual

Definition at line 37 of file PndMvdEventAna.h.

37 {};

Member Function Documentation

void PndMvdEventAna::AnaEventNr ( Int_t  Nr)

Definition at line 28 of file PndMvdEventAna.cxx.

References AnaHits(), BeginOfEventAction(), ClearHistos(), EndOfEventAction(), fActiveEvent, fAnaEvents, fTree, InitHistos(), and vecs.

Referenced by NextEvent().

29 {
30  TVector3 vecs;
32 
33  fAnaEvents = 1;
34  InitHistos();
35  ClearHistos();
36  if (Nr > fTree->GetEntriesFast())
37  return;
38 
39  fActiveEvent = Nr;
40  AnaHits();
42  //InitCanvas();
43  //DrawHistos();
44 }
virtual void ClearHistos()
TVector3 vecs
virtual void BeginOfEventAction()
virtual void InitHistos()=0
virtual void EndOfEventAction()
virtual void AnaHits()
void PndMvdEventAna::AnaEvents ( Int_t  count)

Definition at line 79 of file PndMvdEventAna.cxx.

References AnaHits(), count, fActiveEvent, fAnaEvents, fTree, i, and InitHistos().

80 {
81  fAnaEvents = count;
82  InitHistos();
83  if (count > fTree->GetEntriesFast())
84  count = fTree->GetEntriesFast();
85  for (Int_t i = 0; i < count; i++)
86  {
87  fActiveEvent = i;
88  AnaHits();
89  }
90  //InitCanvas();
91  //DrawHistos();
92 }
Int_t i
Definition: run_full.C:25
virtual void InitHistos()=0
int count
virtual void AnaHits()
virtual void PndMvdEventAna::AnaHitNr ( Int_t  i)
inlinevirtual

Reimplemented in PndMvdDigiEventAna, and PndMvdMCEventAna.

Definition at line 59 of file PndMvdEventAna.h.

Referenced by AnaHits().

59 {};
void PndMvdEventAna::AnaHits ( )
virtual

Reimplemented in PndMvdAllDataEventAna.

Definition at line 94 of file PndMvdEventAna.cxx.

References AnaHitNr(), fHitArray, and i.

Referenced by AnaEventNr(), and AnaEvents().

95 {
96  for (Int_t i=0; i<fHitArray->GetEntriesFast(); i++)
97  {
98  AnaHitNr(i);
99  }
100 }
Int_t i
Definition: run_full.C:25
TClonesArray * fHitArray
virtual void AnaHitNr(Int_t i)
virtual void PndMvdEventAna::BeginOfEventAction ( )
inlinevirtual

Reimplemented in PndMvdAllDataEventAna.

Definition at line 60 of file PndMvdEventAna.h.

Referenced by AnaEventNr().

60 {};
PndMvdEventAna::ClassDef ( PndMvdEventAna  ,
 
)
protected
virtual void PndMvdEventAna::ClearHistos ( )
inlinevirtual

Reimplemented in PndMvdAllDataEventAna.

Definition at line 62 of file PndMvdEventAna.h.

Referenced by AnaEventNr().

62 {};
void PndMvdEventAna::DrawHisto ( TString  path,
TString  opt = "" 
)

Definition at line 74 of file PndMvdEventAna.cxx.

References fHistos.

75 {
76  fHistos[path]->Draw(opt.Data());
77 }
std::map< TString, TH1 * > fHistos
void PndMvdEventAna::DrawHistos ( )

Definition at line 63 of file PndMvdEventAna.cxx.

References fCan, fHistos, and i.

64 {
65  Int_t i = 0;
66  for (std::map<TString, TH1*>::const_iterator ki = fHistos.begin(); ki != fHistos.end(); ki++){
67  i++;
68  fCan->cd(i);
69  std::cout << ki->second << std::endl;
70  ki->second->Draw();//(fDrawOption[ci->second->GetName()]);
71  }
72 }
Int_t i
Definition: run_full.C:25
TCanvas * fCan
std::map< TString, TH1 * > fHistos
void PndMvdEventAna::DrawVector ( Int_t  index,
TString  opt 
)

Definition at line 110 of file PndMvdEventAna.cxx.

References fHistoVector.

111 {
112  fHistoVector[index]->Draw(opt.Data());
113 }
std::vector< TH1 * > fHistoVector
virtual void PndMvdEventAna::EndOfEventAction ( )
inlinevirtual

Reimplemented in PndMvdAllDataEventAna, and PndMvdDigiEventAna.

Definition at line 61 of file PndMvdEventAna.h.

Referenced by AnaEventNr().

61 {};
void PndMvdEventAna::FillVector ( )

Definition at line 102 of file PndMvdEventAna.cxx.

References fHistos, and fHistoVector.

103 {
104  fHistoVector.clear();
105  for (std::map<TString, TH1*>::const_iterator ki = fHistos.begin(); ki != fHistos.end(); ki++){
106  fHistoVector.push_back(ki->second);
107  }
108 }
std::map< TString, TH1 * > fHistos
std::vector< TH1 * > fHistoVector
Int_t PndMvdEventAna::GetEventNr ( ) const
inline

Definition at line 52 of file PndMvdEventAna.h.

References fActiveEvent.

52 {return fActiveEvent;};
TH1* PndMvdEventAna::GetHisto ( TString  histoName)
inline

Definition at line 54 of file PndMvdEventAna.h.

References fHistos.

54 {return fHistos[histoName];};
std::map< TString, TH1 * > fHistos
TH1* PndMvdEventAna::GetHisto ( Int_t  i)
inline

Definition at line 55 of file PndMvdEventAna.h.

References fHistoVector, and i.

55 {return fHistoVector[i];};
Int_t i
Definition: run_full.C:25
std::vector< TH1 * > fHistoVector
TString PndMvdEventAna::GetSelection ( ) const
inline

Definition at line 53 of file PndMvdEventAna.h.

References fSelection.

53 {return fSelection;};
TString fSelection
void PndMvdEventAna::Init ( TString  fileName)
virtual

Reimplemented in PndMvdAllDataEventAna.

Definition at line 16 of file PndMvdEventAna.cxx.

References fActiveEvent, fBranchName, fClassName, fFile, fHitArray, fTree, InitBranch(), and InitHistos().

Referenced by PndMvdDigiEventAna::PndMvdDigiEventAna().

17 {
18  InitHistos();
19  InitBranch();
20  fFile = new TFile(fileName.Data());
21  fTree = (TTree*)(fFile->Get("pndsim"));
22  fHitArray=new TClonesArray(fClassName.Data());
23  fTree->SetBranchAddress(fBranchName.Data(),&fHitArray);//Branch names
24  fActiveEvent = 0;
25 }
virtual void InitBranch()=0
TString fBranchName
TClonesArray * fHitArray
virtual void InitHistos()=0
TString fClassName
virtual void PndMvdEventAna::InitBranch ( )
pure virtual

Implemented in PndMvdAllDataEventAna, PndMvdDigiEventAna, and PndMvdMCEventAna.

Referenced by Init().

void PndMvdEventAna::InitCanvas ( )

Definition at line 55 of file PndMvdEventAna.cxx.

References Double_t, fCan, fCancol, and fHistos.

56 {
57  if (fCan != 0) delete(fCan);
58  fCan = new TCanvas("can1","MCHit view in MVD",0,0,1000,1000);
59  std::cout << "InitCanvas fHistos.size() " << fHistos.size() << std::endl;
60  fCan->Divide(fCancol, (Int_t)(((Double_t)(fHistos.size())/fCancol) + 0.5));
61 }
TCanvas * fCan
std::map< TString, TH1 * > fHistos
Double_t
virtual void PndMvdEventAna::InitHistos ( )
pure virtual
void PndMvdEventAna::NextEvent ( )

Definition at line 46 of file PndMvdEventAna.cxx.

References AnaEventNr(), fActiveEvent, fAnaEvents, and fTree.

47 {
48  fAnaEvents = 1;
49  if (fActiveEvent + 1 < fTree->GetEntriesFast()){
50  fActiveEvent++;
52  }
53 }
void AnaEventNr(Int_t Nr)
void PndMvdEventAna::SetCanvasColumns ( Int_t  col)
inline

Definition at line 47 of file PndMvdEventAna.h.

References col, and fCancol.

Referenced by PndMvdAllDataEventAna::PndMvdAllDataEventAna(), and PndMvdDigiEventAna::PndMvdDigiEventAna().

47 {fCancol = col;};
int col
Definition: anaLmdDigi.C:67
void PndMvdEventAna::SetDrawOption ( TString  histoName,
TString  option 
)

Definition at line 115 of file PndMvdEventAna.cxx.

References fDrawOption.

116 {
117  fDrawOption[histoName] = option;
118 }
std::map< TString, TString > fDrawOption
void PndMvdEventAna::SetSelection ( TString  sel)
inline

Definition at line 49 of file PndMvdEventAna.h.

References fSelection.

49 {fSelection = sel;};
TString fSelection

Member Data Documentation

Int_t PndMvdEventAna::fActiveEvent
protected
Int_t PndMvdEventAna::fAnaEvents
protected
TString PndMvdEventAna::fBranchName
protected
TCanvas* PndMvdEventAna::fCan
protected

Definition at line 73 of file PndMvdEventAna.h.

Referenced by DrawHistos(), and InitCanvas().

Int_t PndMvdEventAna::fCancol
protected

Definition at line 77 of file PndMvdEventAna.h.

Referenced by InitCanvas(), and SetCanvasColumns().

TString PndMvdEventAna::fClassName
protected
std::map<TString, TString> PndMvdEventAna::fDrawOption
protected
TFile* PndMvdEventAna::fFile
protected

Definition at line 67 of file PndMvdEventAna.h.

Referenced by Init(), and PndMvdAllDataEventAna::Init().

PndGeoHandling* PndMvdEventAna::fGeoH
protected
std::map<TString, TH1*> PndMvdEventAna::fHistos
protected
std::vector<TH1*> PndMvdEventAna::fHistoVector
protected
TClonesArray* PndMvdEventAna::fHitArray
protected
TString PndMvdEventAna::fSelection
protected

Definition at line 72 of file PndMvdEventAna.h.

Referenced by PndMvdMCEventAna::AnaHitNr(), GetSelection(), and SetSelection().

TTree* PndMvdEventAna::fTree
protected

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