FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
PndMvdMCEventAna Class Reference

#include <PndMvdMCEventAna.h>

Inheritance diagram for PndMvdMCEventAna:
PndMvdEventAna

Public Member Functions

 PndMvdMCEventAna ()
 
 PndMvdMCEventAna (TString fileName)
 
virtual ~PndMvdMCEventAna ()
 
virtual void InitBranch ()
 
virtual void InitHistos ()
 
virtual void AnaHitNr (Int_t hitNr)
 
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 AnaHits ()
 
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
 

Private Member Functions

 ClassDef (PndMvdMCEventAna, 1)
 

Private Attributes

TClonesArray * fMCTrackArray
 
PndGeoHandlingfGeoH
 

Detailed Description

Author
t.stockmanns

Definition at line 28 of file PndMvdMCEventAna.h.

Constructor & Destructor Documentation

PndMvdMCEventAna::PndMvdMCEventAna ( )
inline

Definition at line 30 of file PndMvdMCEventAna.h.

30 {};
PndMvdMCEventAna::PndMvdMCEventAna ( TString  fileName)
virtual PndMvdMCEventAna::~PndMvdMCEventAna ( )
inlinevirtual

Definition at line 32 of file PndMvdMCEventAna.h.

32 {};

Member Function Documentation

void PndMvdEventAna::AnaEventNr ( Int_t  Nr)
inherited

Definition at line 28 of file PndMvdEventAna.cxx.

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

Referenced by PndMvdEventAna::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)
inherited

Definition at line 79 of file PndMvdEventAna.cxx.

References PndMvdEventAna::AnaHits(), count, PndMvdEventAna::fActiveEvent, PndMvdEventAna::fAnaEvents, PndMvdEventAna::fTree, i, and PndMvdEventAna::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()
void PndMvdMCEventAna::AnaHitNr ( Int_t  hitNr)
virtual

Reimplemented from PndMvdEventAna.

Definition at line 38 of file PndMvdMCEventAna.cxx.

References PndMvdEventAna::fActiveEvent, PndMvdEventAna::fHistos, PndMvdEventAna::fHitArray, PndMvdEventAna::fSelection, PndMvdEventAna::fTree, hit(), and vecs.

39 {
40  TVector3 vecs;
41 
42  fHitArray->Delete();
43  fTree->GetEntry(fActiveEvent);
45  if (hit->GetDetName().Contains(fSelection)){
46  vecs.SetXYZ(hit->GetX(), hit->GetY(), hit->GetZ());
47  fHistos["hisxy"]->Fill(vecs.x(),vecs.y());
48  fHistos["hisrz"]->Fill(vecs.z(),vecs.Perp());
49  fHistos["hisde"]->Fill(hit->GetEnergyLoss());
50  //TH3D* histo3D = (TH3D*)(fHistos["hisxyz"]);
51  //histo3D->Fill(hit->GetX(), hit->GetY(), hit->GetZ());
52  }
53 
54 }
TString fSelection
std::map< TString, TH1 * > fHistos
TVector3 vecs
TClonesArray * fHitArray
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
Definition: hit.C:1
void PndMvdEventAna::AnaHits ( )
virtualinherited

Reimplemented in PndMvdAllDataEventAna.

Definition at line 94 of file PndMvdEventAna.cxx.

References PndMvdEventAna::AnaHitNr(), PndMvdEventAna::fHitArray, and i.

Referenced by PndMvdEventAna::AnaEventNr(), and PndMvdEventAna::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 ( )
inlinevirtualinherited

Reimplemented in PndMvdAllDataEventAna.

Definition at line 60 of file PndMvdEventAna.h.

Referenced by PndMvdEventAna::AnaEventNr().

60 {};
PndMvdMCEventAna::ClassDef ( PndMvdMCEventAna  ,
 
)
private
PndMvdEventAna::ClassDef ( PndMvdEventAna  ,
 
)
protectedinherited
virtual void PndMvdEventAna::ClearHistos ( )
inlinevirtualinherited

Reimplemented in PndMvdAllDataEventAna.

Definition at line 62 of file PndMvdEventAna.h.

Referenced by PndMvdEventAna::AnaEventNr().

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

Definition at line 74 of file PndMvdEventAna.cxx.

References PndMvdEventAna::fHistos.

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

Definition at line 63 of file PndMvdEventAna.cxx.

References PndMvdEventAna::fCan, PndMvdEventAna::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 
)
inherited

Definition at line 110 of file PndMvdEventAna.cxx.

References PndMvdEventAna::fHistoVector.

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

Reimplemented in PndMvdAllDataEventAna, and PndMvdDigiEventAna.

Definition at line 61 of file PndMvdEventAna.h.

Referenced by PndMvdEventAna::AnaEventNr().

61 {};
void PndMvdEventAna::FillVector ( )
inherited

Definition at line 102 of file PndMvdEventAna.cxx.

References PndMvdEventAna::fHistos, and PndMvdEventAna::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
inlineinherited

Definition at line 52 of file PndMvdEventAna.h.

References PndMvdEventAna::fActiveEvent.

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

Definition at line 54 of file PndMvdEventAna.h.

References PndMvdEventAna::fHistos.

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

Definition at line 55 of file PndMvdEventAna.h.

References PndMvdEventAna::fHistoVector, and i.

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

Definition at line 53 of file PndMvdEventAna.h.

References PndMvdEventAna::fSelection.

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

Reimplemented in PndMvdAllDataEventAna.

Definition at line 16 of file PndMvdEventAna.cxx.

References PndMvdEventAna::fActiveEvent, PndMvdEventAna::fBranchName, PndMvdEventAna::fClassName, PndMvdEventAna::fFile, PndMvdEventAna::fHitArray, PndMvdEventAna::fTree, PndMvdEventAna::InitBranch(), and PndMvdEventAna::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
void PndMvdMCEventAna::InitBranch ( )
virtual

Implements PndMvdEventAna.

Definition at line 16 of file PndMvdMCEventAna.cxx.

References PndMvdEventAna::fBranchName, and PndMvdEventAna::fClassName.

17 {
18  fClassName = "PndSdsMCPoint";
19  fBranchName = "MVDPoint";
20 }
TString fBranchName
TString fClassName
void PndMvdEventAna::InitCanvas ( )
inherited

Definition at line 55 of file PndMvdEventAna.cxx.

References Double_t, PndMvdEventAna::fCan, PndMvdEventAna::fCancol, and PndMvdEventAna::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
void PndMvdMCEventAna::InitHistos ( )
virtual

Implements PndMvdEventAna.

Definition at line 22 of file PndMvdMCEventAna.cxx.

References PndMvdEventAna::fDrawOption, and PndMvdEventAna::fHistos.

23 {
24  if (fHistos["hisxy"]!= 0) delete (fHistos["hisxy"]);
25  fHistos["hisxy"] = new TH2D("hisxy","MVD MC Points, xy view",400,-15.,15.,400,-15.,15.);
26  fDrawOption["hisxy"] = "";
27  if (fHistos["hisrz"]!= 0) delete (fHistos["hisrz"]);
28  fHistos["hisrz"] = new TH2D("hisrz","MVD MC Points, rz view",400,-20.,20.,400,0.,40.);
29  fDrawOption["hisrz"] = "";
30 // if (fHistos["hisxyz"]!= 0) delete (fHistos["hisxyz"]);
31 // fHistos["hisxyz"] = new TH3D("hisxyz","MVD MC Points xyz view",200,-15.,15.,200,-15.,15.,200,-20.,20.);
32 // fDrawOption["hisxyz"] = "";
33  if (fHistos["hisde"] != 0) delete (fHistos["hisde"]);
34  fHistos["hisde"] = new TH1D("hisde","MVD MC Points, Energyloss",500,0.,0.002);
35  fDrawOption["hisde"] = "B";
36 }
std::map< TString, TH1 * > fHistos
std::map< TString, TString > fDrawOption
void PndMvdEventAna::NextEvent ( )
inherited

Definition at line 46 of file PndMvdEventAna.cxx.

References PndMvdEventAna::AnaEventNr(), PndMvdEventAna::fActiveEvent, PndMvdEventAna::fAnaEvents, and PndMvdEventAna::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)
inlineinherited
void PndMvdEventAna::SetDrawOption ( TString  histoName,
TString  option 
)
inherited

Definition at line 115 of file PndMvdEventAna.cxx.

References PndMvdEventAna::fDrawOption.

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

Definition at line 49 of file PndMvdEventAna.h.

References PndMvdEventAna::fSelection.

49 {fSelection = sel;};
TString fSelection

Member Data Documentation

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

Definition at line 73 of file PndMvdEventAna.h.

Referenced by PndMvdEventAna::DrawHistos(), and PndMvdEventAna::InitCanvas().

Int_t PndMvdEventAna::fCancol
protectedinherited
TString PndMvdEventAna::fClassName
protectedinherited
std::map<TString, TString> PndMvdEventAna::fDrawOption
protectedinherited
TFile* PndMvdEventAna::fFile
protectedinherited

Definition at line 67 of file PndMvdEventAna.h.

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

PndGeoHandling* PndMvdMCEventAna::fGeoH
private

Definition at line 40 of file PndMvdMCEventAna.h.

std::map<TString, TH1*> PndMvdEventAna::fHistos
protectedinherited
std::vector<TH1*> PndMvdEventAna::fHistoVector
protectedinherited
TClonesArray* PndMvdEventAna::fHitArray
protectedinherited
TClonesArray* PndMvdMCEventAna::fMCTrackArray
private

Definition at line 39 of file PndMvdMCEventAna.h.

TString PndMvdEventAna::fSelection
protectedinherited
TTree* PndMvdEventAna::fTree
protectedinherited

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