FEDRA emulsion software from the OPERA Collaboration
EdbCouplesTree.h
Go to the documentation of this file.
1#ifndef ROOT_EdbCouplesTree
2#define ROOT_EdbCouplesTree
3
4#include "TTree.h"
5#include "TFile.h"
6#include "TCut.h"
7#include "EdbSegCouple.h"
8#include "EdbAffine.h"
9#include "EdbMask.h"
10#include "EdbBrick.h"
11
12class TIndex2;
13class EdbPattern;
14
15//-------------------------------------------------------------------------------------------------
16class EdbCouplesTree : public TObject
17{
18public:
22 Float_t eXv, eYv;
23 Int_t ePid1, ePid2;
24
25 TTree *eTree;
26
29
31 TCut eCut;
34
35public:
37 virtual ~EdbCouplesTree();
38
39 bool InitCouplesTree(const char *name="couples", const char *fname=0, Option_t *mode="READ");
40 TEventList *InitCutList();
41 void Close();
42 Int_t Fill(EdbSegP *s1, EdbSegP *s2, EdbSegP *s=0, EdbSegCouple *cp=0, float xv=0, float yv=0, int pid1=0, int pid2=0 );
43 Int_t Fill();
44 bool WriteTree();
45 int GetEntry(int i);
46 void ApplyCorrections();
47 int PutCPData( TObjArray &cparr );
48 int GetCPData( EdbPattern *pat, EdbPattern *p1=0, EdbPattern *p2=0, TIndex2 *trseg=0 );
49 int GetCPData( TObjArray &cparr );
51 const char* GetFileName() const { if(eTree->GetCurrentFile()) return eTree->GetCurrentFile()->GetName(); else return 0;}
52 void RankCouples(TObjArray &cparr);
53
54 void Print();
55
56 ClassDef(EdbCouplesTree,1)
57};
58#endif /* ROOT_EdbCouplesTree */
Definition: EdbCouplesTree.h:17
int PutCPData(TObjArray &cparr)
Definition: EdbCouplesTree.cxx:278
TCut eCut
cut to be applied on read
Definition: EdbCouplesTree.h:31
Float_t eYv
relative center
Definition: EdbCouplesTree.h:22
void ApplyCorrections()
Definition: EdbCouplesTree.cxx:195
bool InitCouplesTree(const char *name="couples", const char *fname=0, Option_t *mode="READ")
Definition: EdbCouplesTree.cxx:79
EdbPlateP ePlate
Definition: EdbCouplesTree.h:33
void Close()
Definition: EdbCouplesTree.cxx:62
EdbSegP * eS2
Definition: EdbCouplesTree.h:20
EdbSegP * eS1
branches:
Definition: EdbCouplesTree.h:20
EdbMask * eAcceptMask
id's (entries) of segments to be accepted when read couples tree
Definition: EdbCouplesTree.h:28
int GetEntry(int i)
Definition: EdbCouplesTree.cxx:187
int GetCPData(EdbPattern *pat, EdbPattern *p1=0, EdbPattern *p2=0, TIndex2 *trseg=0)
Definition: EdbCouplesTree.cxx:296
virtual ~EdbCouplesTree()
Definition: EdbCouplesTree.cxx:40
bool eApplyCorrections
if true - apply corrections stored in ePlate when do GetEntry
Definition: EdbCouplesTree.h:32
Int_t ePid1
Definition: EdbCouplesTree.h:23
EdbMask * eEraseMask
id's (entries) of segments to be erased when read couples tree
Definition: EdbCouplesTree.h:27
int GetCPDataAcceptedMask(EdbPattern *pat)
Definition: EdbCouplesTree.cxx:347
void Print()
Definition: EdbCouplesTree.cxx:52
TTree * eTree
couples tree
Definition: EdbCouplesTree.h:25
Float_t eXv
Definition: EdbCouplesTree.h:22
Int_t ePid2
Definition: EdbCouplesTree.h:23
EdbSegCouple * eCP
couples object
Definition: EdbCouplesTree.h:21
Int_t Fill()
Definition: EdbCouplesTree.cxx:181
EdbSegP * eS
segments to be written
Definition: EdbCouplesTree.h:20
TEventList * InitCutList()
Definition: EdbCouplesTree.cxx:267
bool WriteTree()
Definition: EdbCouplesTree.cxx:163
void RankCouples(TObjArray &cparr)
Definition: EdbCouplesTree.cxx:234
const char * GetFileName() const
Definition: EdbCouplesTree.h:51
mask service class
Definition: EdbMask.h:8
Definition: EdbPattern.h:273
Definition: EdbBrick.h:14
Definition: EdbSegCouple.h:17
Definition: EdbSegP.h:21
simple index class for fast search in linear cases
Definition: EdbMath.h:50
s
Definition: check_shower.C:55
void trseg(int event=40, const char *def)
Definition: check_vertex.C:44
EdbSegP * s1
Definition: tlg2couples.C:29
EdbSegP * s2
Definition: tlg2couples.C:30
EdbSegCouple * cp
Definition: tlg2couples.C:28
const char * fname
Definition: mc2raw.cxx:41
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24