SND@LHC Software
Loading...
Searching...
No Matches
ecalAnalysisSimple Class Reference

#include <ecalAnalysisSimple.h>

Inheritance diagram for ecalAnalysisSimple:
Collaboration diagram for ecalAnalysisSimple:

Public Member Functions

 ecalAnalysisSimple (const char *name, const Int_t iVerbose)
 
 ecalAnalysisSimple ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *option)
 
virtual void Finish ()
 
virtual ~ecalAnalysisSimple ()
 

Private Member Functions

void InitTree ()
 
 ecalAnalysisSimple (const ecalAnalysisSimple &)
 
ecalAnalysisSimple operator= (const ecalAnalysisSimple &)
 

Private Attributes

TTree * fTree
 
Double_t fX
 
Double_t fY
 
Double_t fCX
 
Double_t fCY
 
Double_t fP
 
Double_t fCE
 
Double_t fOE
 
Double_t fPX
 
Double_t fPY
 
Double_t fPZ
 
Int_t fEv
 
Int_t fCellNum
 
Int_t fADC
 
ecalStructurefStr
 
TClonesArray * fTracks
 

Detailed Description

Definition at line 14 of file ecalAnalysisSimple.h.

Constructor & Destructor Documentation

◆ ecalAnalysisSimple() [1/3]

ecalAnalysisSimple::ecalAnalysisSimple ( const char *  name,
const Int_t  iVerbose 
)

Definition at line 94 of file ecalAnalysisSimple.cxx.

95 : FairTask(name, iVerbose),
96 fTree(NULL),
97 fX(0.),
98 fY(0.),
99 fCX(0.),
100 fCY(0.),
101 fP(0.),
102 fCE(0.),
103 fOE(0.),
104 fPX(0.),
105 fPY(0.),
106 fPZ(0.),
107 fEv(0),
108 fCellNum(0),
109 fADC(0),
110 fStr(NULL),
111 fTracks(NULL)
112{
113}

◆ ecalAnalysisSimple() [2/3]

ecalAnalysisSimple::ecalAnalysisSimple ( )

Default constructor

Definition at line 115 of file ecalAnalysisSimple.cxx.

116 : FairTask(),
117 fTree(NULL),
118 fX(0.),
119 fY(0.),
120 fCX(0.),
121 fCY(0.),
122 fP(0.),
123 fCE(0.),
124 fOE(0.),
125 fPX(0.),
126 fPY(0.),
127 fPZ(0.),
128 fEv(0),
129 fCellNum(0),
130 fADC(0),
131 fStr(NULL),
132 fTracks(NULL)
133{
134}

◆ ~ecalAnalysisSimple()

virtual ecalAnalysisSimple::~ecalAnalysisSimple ( )
inlinevirtual

Destructor

Definition at line 32 of file ecalAnalysisSimple.h.

32{};

◆ ecalAnalysisSimple() [3/3]

ecalAnalysisSimple::ecalAnalysisSimple ( const ecalAnalysisSimple )
private

Member Function Documentation

◆ Exec()

void ecalAnalysisSimple::Exec ( Option_t *  option)
virtual

Loop procedure

Definition at line 19 of file ecalAnalysisSimple.cxx.

20{
21 Int_t n=fTracks->GetEntries();
22 Int_t i;
23 ecalPoint* t;
24 ecalCell* cell;
25 ecalCell* mcell;
26 TVector3 m;
27 list<ecalCell*> cells;
28 list<ecalCell*>::const_iterator p;
29// TVector3 m1;
30
31 fEv++;
32 InitTree();
33
34 for(i=0;i<n;i++)
35 {
36 t=(ecalPoint*)fTracks->At(i);
37 fX=t->GetX();
38 fY=t->GetY();
39 t->Momentum(m);
40 fP=m.Mag();
41 fPX=m.Px();
42 fPY=m.Py();
43 fPZ=m.Pz();
44
45// m1=m.Unit();
46 cell=fStr->GetCell(fX, fY);
47 if (!cell) continue;
48 mcell=cell;
49 cell->GetNeighborsList(cells);
50 for(p=cells.begin();p!=cells.end();++p)
51 if ((*p)->GetEnergy()>mcell->GetEnergy())
52 mcell=(*p);
53
54 mcell->GetNeighborsList(cells);
55 for(p=cells.begin();p!=cells.end();++p)
56 if ((*p)->GetEnergy()>mcell->GetEnergy())
57 break;
58
59 if (p!=cells.end()) continue;
60
61 fCX=mcell->GetCenterX();
62 fCY=mcell->GetCenterY();
63 fCE=mcell->GetEnergy();
64 fCellNum=mcell->GetCellNumber();
65 fADC=mcell->ADC();
66 fOE=fCE;
67 for(p=cells.begin();p!=cells.end();++p)
68 fOE+=(*p)->GetEnergy();
69
70 fTree->Fill();
71 }
72
73}
Double_t m
Int_t GetCellNumber() const
Definition ecalCell.h:40
void GetNeighborsList(std::list< ecalCell * > &neib) const
Definition ecalCell.h:48
Float_t GetCenterX() const
Definition ecalCell.h:35
Short_t ADC() const
Definition ecalCell.h:37
Float_t GetCenterY() const
Definition ecalCell.h:36
Float_t GetEnergy() const
Definition ecalCell.h:42
ecalCell * GetCell(Float_t x, Float_t y) const
int i
Definition ShipAna.py:86

◆ Finish()

void ecalAnalysisSimple::Finish ( )
virtual

Finishing routine

Definition at line 156 of file ecalAnalysisSimple.cxx.

157{
158 if (fTree)
159 fTree->Write();
160}

◆ Init()

InitStatus ecalAnalysisSimple::Init ( )
virtual

Initing routine

Definition at line 137 of file ecalAnalysisSimple.cxx.

138{
139 FairRootManager* fManager=FairRootManager::Instance();
140 fStr=(ecalStructure*)fManager->GetObject("EcalStructure");
141 if (!fStr)
142 {
143 Fatal("Init()", "Can't find calorimeter structure. ");
144 return kFATAL;
145 }
146 fTracks=(TClonesArray*)fManager->GetObject("EcalPoint");
147 if (!fTracks)
148 {
149 Fatal("Init()", "Can't find array of reconstructed tracks. ");
150 return kFATAL;
151 }
152 return kSUCCESS;
153}

◆ InitTree()

void ecalAnalysisSimple::InitTree ( )
private

Definition at line 75 of file ecalAnalysisSimple.cxx.

76{
77 if (fTree) return;
78 fTree=new TTree("calib", "calib");
79 fTree->Branch("px", &fPX, "px/D");
80 fTree->Branch("py", &fPY, "py/D");
81 fTree->Branch("pz", &fPZ, "pz/D");
82 fTree->Branch("p" , &fP , "p/D");
83 fTree->Branch("x" , &fX , "x/D");
84 fTree->Branch("y" , &fY , "y/D");
85 fTree->Branch("cx", &fCX, "cx/D");
86 fTree->Branch("cy", &fCY, "cy/D");
87 fTree->Branch("ce", &fCE, "ce/D");
88 fTree->Branch("oe", &fOE, "oe/D");
89 fTree->Branch("ev", &fEv, "ev/I");
90 fTree->Branch("cn", &fCellNum, "cn/I");
91 fTree->Branch("adc", &fADC, "adc/I");
92}

◆ operator=()

ecalAnalysisSimple ecalAnalysisSimple::operator= ( const ecalAnalysisSimple )
private

Member Data Documentation

◆ fADC

Int_t ecalAnalysisSimple::fADC
private

Definition at line 48 of file ecalAnalysisSimple.h.

◆ fCE

Double_t ecalAnalysisSimple::fCE
private

Definition at line 41 of file ecalAnalysisSimple.h.

◆ fCellNum

Int_t ecalAnalysisSimple::fCellNum
private

Definition at line 47 of file ecalAnalysisSimple.h.

◆ fCX

Double_t ecalAnalysisSimple::fCX
private

Definition at line 38 of file ecalAnalysisSimple.h.

◆ fCY

Double_t ecalAnalysisSimple::fCY
private

Definition at line 39 of file ecalAnalysisSimple.h.

◆ fEv

Int_t ecalAnalysisSimple::fEv
private

Definition at line 46 of file ecalAnalysisSimple.h.

◆ fOE

Double_t ecalAnalysisSimple::fOE
private

Definition at line 42 of file ecalAnalysisSimple.h.

◆ fP

Double_t ecalAnalysisSimple::fP
private

Definition at line 40 of file ecalAnalysisSimple.h.

◆ fPX

Double_t ecalAnalysisSimple::fPX
private

Definition at line 43 of file ecalAnalysisSimple.h.

◆ fPY

Double_t ecalAnalysisSimple::fPY
private

Definition at line 44 of file ecalAnalysisSimple.h.

◆ fPZ

Double_t ecalAnalysisSimple::fPZ
private

Definition at line 45 of file ecalAnalysisSimple.h.

◆ fStr

ecalStructure* ecalAnalysisSimple::fStr
private

Definition at line 50 of file ecalAnalysisSimple.h.

◆ fTracks

TClonesArray* ecalAnalysisSimple::fTracks
private

Definition at line 51 of file ecalAnalysisSimple.h.

◆ fTree

TTree* ecalAnalysisSimple::fTree
private

Definition at line 35 of file ecalAnalysisSimple.h.

◆ fX

Double_t ecalAnalysisSimple::fX
private

Definition at line 36 of file ecalAnalysisSimple.h.

◆ fY

Double_t ecalAnalysisSimple::fY
private

Definition at line 37 of file ecalAnalysisSimple.h.


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