/[PAMELA software]/PamelaLevel2/inc/PamLevel2.h
ViewVC logotype

Annotation of /PamelaLevel2/inc/PamLevel2.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.31 - (hide annotations) (download)
Wed Nov 14 11:14:27 2007 UTC (17 years ago) by pam-fi
Branch: MAIN
Changes since 1.30: +1 -4 lines
File MIME type: text/plain
implemented track sorting with GP hits

1 pam-fi 1.1
2    
3     /**
4     * \file PamLevel2.h
5     * \author Elena Vannuccini
6     */
7     #ifndef pamlevel2_h
8     #define pamlevel2_h
9    
10 pam-fi 1.2 #include <TRefArray.h>
11 pam-fi 1.1
12 pam-fi 1.13 #include <TrkStruct.h>
13     #include <TrkParams.h>
14     #include <TrkLevel0.h>
15 pam-fi 1.4 #include <TrkLevel1.h>
16 pam-fi 1.1 #include <TrkLevel2.h>
17 pam-fi 1.6 #include <TrkHough.h>
18 mocchiut 1.16 #include <CaloLevel0.h>
19 pam-fi 1.6 #include <CaloLevel1.h>
20 pam-fi 1.1 #include <CaloLevel2.h>
21     #include <ToFLevel2.h>
22     #include <TrigLevel2.h>
23     #include <S4Level2.h>
24     #include <NDLevel2.h>
25     #include <AcLevel2.h>
26 pam-fi 1.2 #include <OrbitalInfo.h>
27 pam-fi 1.4 #include <RunInfo.h>
28     #include <GLTables.h>
29    
30 pam-fi 1.1
31     #include <TTree.h>
32 pam-fi 1.7 #include <TFriendElement.h>
33 pam-fi 1.2 #include <TChain.h>
34 pam-fi 1.26 #include <TChainElement.h>
35 pam-fi 1.1 #include <TFile.h>
36 pam-fi 1.2 #include <TList.h>
37     #include <TKey.h>
38     #include <TSystemFile.h>
39     #include <TSystemDirectory.h>
40 pam-fi 1.13 #include <TSQLServer.h>
41 pam-fi 1.1
42 pam-fi 1.26 #include <stdlib.h>
43 pam-fi 1.1 #include <iostream>
44 pam-fi 1.26 #include <iomanip>
45     using namespace std;
46 pam-fi 1.13
47     #define NCLONES 10
48    
49 pam-fi 1.1 using namespace std;
50    
51 pam-fi 1.30
52     /////////////////////////////////////////////////////////////////////////////
53     /////////////////////////////////////////////////////////////////////////////
54     /////////////////////////////////////////////////////////////////////////////
55     /////////////////////////////////////////////////////////////////////////////
56     /**
57     * \brief Class to describe GP output (to be moved to PamelaDigitizer)
58     *
59     */
60    
61     class GPamela : public TObject {
62    
63     private:
64    
65     public:
66    
67     // Declaration of leave types
68     Int_t Irun;
69     Int_t Ievnt;
70     Int_t Ipa;
71     Float_t X0;
72     Float_t Y0;
73     Float_t Z0;
74     Float_t Theta;
75     Float_t Phi;
76     Float_t P0;
77     Int_t Nthtof;
78     UChar_t Ipltof[100]; //[Nthtof]
79     UChar_t Ipaddle[100]; //[Nthtof]
80     UChar_t Ipartof[100]; //[Nthtof]
81     Float_t Xintof[100]; //[Nthtof]
82     Float_t Yintof[100]; //[Nthtof]
83     Float_t Zintof[100]; //[Nthtof]
84     Float_t Xouttof[100]; //[Nthtof]
85     Float_t Youttof[100]; //[Nthtof]
86     Float_t Zouttof[100]; //[Nthtof]
87     Float_t Ereltof[100]; //[Nthtof]
88     Float_t Timetof[100]; //[Nthtof]
89     Float_t Pathtof[100]; //[Nthtof]
90     Float_t P0tof[100]; //[Nthtof]
91     Int_t Nthcat;
92     UChar_t Iparcat[50]; //[Nthcat]
93     UChar_t Icat[50]; //[Nthcat]
94     Float_t Xincat[50]; //[Nthcat]
95     Float_t Yincat[50]; //[Nthcat]
96     Float_t Zincat[50]; //[Nthcat]
97     Float_t Xoutcat[50]; //[Nthcat]
98     Float_t Youtcat[50]; //[Nthcat]
99     Float_t Zoutcat[50]; //[Nthcat]
100     Float_t Erelcat[50]; //[Nthcat]
101     Float_t Timecat[50]; //[Nthcat]
102     Float_t Pathcat[50]; //[Nthcat]
103     Float_t P0cat[50]; //[Nthcat]
104     Int_t Nthcas;
105     UChar_t Iparcas[50]; //[Nthcas]
106     UChar_t Icas[50]; //[Nthcas]
107     Float_t Xincas[50]; //[Nthcas]
108     Float_t Yincas[50]; //[Nthcas]
109     Float_t Zincas[50]; //[Nthcas]
110     Float_t Xoutcas[50]; //[Nthcas]
111     Float_t Youtcas[50]; //[Nthcas]
112     Float_t Zoutcas[50]; //[Nthcas]
113     Float_t Erelcas[50]; //[Nthcas]
114     Float_t Timecas[50]; //[Nthcas]
115     Float_t Pathcas[50]; //[Nthcas]
116     Float_t P0cas[50]; //[Nthcas]
117     Int_t Nthspe;
118     UChar_t Iparspe[100]; //[Nthspe]
119     UChar_t Itrpb[100]; //[Nthspe]
120     UChar_t Itrsl[100]; //[Nthspe]
121     UChar_t Itspa[100]; //[Nthspe]
122     Float_t Xinspe[100]; //[Nthspe]
123     Float_t Yinspe[100]; //[Nthspe]
124     Float_t Zinspe[100]; //[Nthspe]
125     Float_t Xoutspe[100]; //[Nthspe]
126     Float_t Youtspe[100]; //[Nthspe]
127     Float_t Zoutspe[100]; //[Nthspe]
128     Float_t Xavspe[100]; //[Nthspe]
129     Float_t Yavspe[100]; //[Nthspe]
130     Float_t Zavspe[100]; //[Nthspe]
131     Float_t Erelspe[100]; //[Nthspe]
132     Float_t Pathspe[100]; //[Nthspe]
133     Float_t P0spe[100]; //[Nthspe]
134     UChar_t Nxmult[100]; //[Nthspe]
135     UChar_t Nymult[100]; //[Nthspe]
136     Int_t Nstrpx;
137     UChar_t Npstripx[1000]; //[Nstrpx]
138     UChar_t Ntstripx[1000]; //[Nstrpx]
139     UShort_t Istripx[1000]; //[Nstrpx]
140     //UInt_t Istripx[1000]; //[Nstrpx]
141     Float_t Qstripx[1000]; //[Nstrpx]
142     Float_t Xstripx[1000]; //[Nstrpx]
143     Int_t Nstrpy;
144     UChar_t Npstripy[1000]; //[Nstrpy]
145     UChar_t Ntstripy[1000]; //[Nstrpy]
146     UShort_t Istripy[1000]; //[Nstrpy]
147     //UInt_t Istripy[1000]; //[Nstrpy]
148     Float_t Qstripy[1000]; //[Nstrpy]
149     Float_t Ystripy[1000]; //[Nstrpy]
150     Int_t Nthcali;
151     UChar_t Icaplane[4224]; //[Nthcali]
152     UChar_t Icastrip[4224]; //[Nthcali]
153     Int_t Icamod[4224]; //[Nthcali]
154     Float_t Enestrip[4224]; //[Nthcali]
155     Int_t Nthcal;
156     UChar_t Icapl[1000]; //[Nthcal]
157     UChar_t Icasi[1000]; //[Nthcal]
158     UChar_t Icast[1000]; //[Nthcal]
159     Float_t Xincal[1000]; //[Nthcal]
160     Float_t Yincal[1000]; //[Nthcal]
161     Float_t Zincal[1000]; //[Nthcal]
162     Float_t Erelcal[1000]; //[Nthcal]
163     Int_t Nthnd;
164     UChar_t Itubend[200]; //[Nthnd]
165     UChar_t Iparnd[200]; //[Nthnd]
166     Float_t Xinnd[200]; //[Nthnd]
167     Float_t Yinnd[200]; //[Nthnd]
168     Float_t Zinnd[200]; //[Nthnd]
169     Float_t Xoutnd[200]; //[Nthnd]
170     Float_t Youtnd[200]; //[Nthnd]
171     Float_t Zoutnd[200]; //[Nthnd]
172     Float_t Erelnd[200]; //[Nthnd]
173     Float_t Timend[200]; //[Nthnd]
174     Float_t Pathnd[200]; //[Nthnd]
175     Float_t P0nd[200]; //[Nthnd]
176     Int_t Nthcard;
177     UChar_t Iparcard[100]; //[Nthcard]
178     UChar_t Icard[100]; //[Nthcard]
179     Float_t Xincard[100]; //[Nthcard]
180     Float_t Yincard[100]; //[Nthcard]
181     Float_t Zincard[100]; //[Nthcard]
182     Float_t Xoutcard[100]; //[Nthcard]
183     Float_t Youtcard[100]; //[Nthcard]
184     Float_t Zoutcard[100]; //[Nthcard]
185     Float_t Erelcard[100]; //[Nthcard]
186     Float_t Timecard[100]; //[Nthcard]
187     Float_t Pathcard[100]; //[Nthcard]
188     Float_t P0card[100]; //[Nthcard]
189    
190     GPamela(){ Clear(); };
191     // ~GPamela(){ Delete(); };
192     ~GPamela(){ Clear(); };
193    
194     void Clear();
195     void Delete();
196     void SetBranchAddress( TChain* );
197     void SetBranchAddress( TTree* t){ SetBranchAddress( (TChain*)t );};
198    
199     GPamela* GetGPamela(){return this;};
200    
201     ClassDef(GPamela,1);
202    
203     };
204     /////////////////////////////////////////////////////////////////////////////
205     /////////////////////////////////////////////////////////////////////////////
206     /////////////////////////////////////////////////////////////////////////////
207     /////////////////////////////////////////////////////////////////////////////
208    
209    
210    
211 pam-fi 1.1 /**
212     * \brief Class to describe particle tracks in the apparatus, including tracker and track-related variables from other detectors (calorimeter and TOF).
213     *
214     * This class inherites from TrkTrack, CaloTrkVar ecc...
215     *
216     */
217 pam-fi 1.10 //class PamTrack : public TrkTrack, public CaloTrkVar, public ToFTrkVar {
218     class PamTrack : public TObject {
219 pam-fi 1.1
220     private:
221    
222     TrkTrack* trk_track;
223     CaloTrkVar* calo_track;
224     ToFTrkVar* tof_track;
225 mocchiut 1.27 Int_t pscore;
226     Int_t iscore;
227 pam-fi 1.10 bool candeleteobj;
228    
229     // TClonesArray *Cluster; ///< clusters (if stored)
230    
231 pam-fi 1.1 public:
232    
233     PamTrack();
234 pam-fi 1.10 PamTrack(TrkTrack* , CaloTrkVar* , ToFTrkVar* );
235     PamTrack(const PamTrack&);
236     ~PamTrack(){ Delete(); };
237 pam-fi 1.1
238 pam-fi 1.10 void Clear();
239     void Clear(Option_t *option){Clear();};
240     void Delete();
241 pam-fi 1.1
242 mocchiut 1.27 Bool_t IsSolved(){if ((pscore-iscore)>0) return true; return false;};
243     Int_t GetScore(){return (pscore-iscore);};
244     Int_t GetPScore(){return (pscore);};
245     Int_t GetIScore(){return (iscore);};
246     void SetPScore(Int_t p){pscore=p;};
247     void SetIScore(Int_t i){iscore=i;};
248    
249 pam-fi 1.10 TrkTrack* GetTrkTrack(){return trk_track;};
250 pam-fi 1.8 CaloTrkVar* GetCaloTrack(){return calo_track;};
251 pam-fi 1.10 ToFTrkVar* GetToFTrack(){return tof_track;};
252 pam-fi 1.8
253 pam-fi 1.1 ClassDef(PamTrack,1);
254     };
255    
256     /**
257     * \brief Class to describe PAMELA LEVEL2 data.
258     *
259     * This class inherites from TrkLevel2, CaloLevel2 ecc... and it overrides the TrkLevel2:GetTrack(int it) and TrkLevel2:GetTrackImage(int it) methods.
260     * This allows to solve the tracker ambiguity (that is, to choose between track images) by using also information from other detectors.
261     */
262    
263 pam-fi 1.10 //class PamLevel2 : public CaloLevel2, public CaloLevel1, public ToFLevel2, public TrkLevel2, public TrkLevel1, public TrkHough, public TrigLevel2, public S4Level2, public NDLevel2, public AcLevel2, public OrbitalInfo {
264     class PamLevel2 : public TObject {
265 pam-fi 1.1
266     private:
267    
268 pam-fi 1.13 // ------------------------------
269     // variables to retrieve run info
270     // ------------------------------
271 pam-fi 1.17 Long64_t irun; //current run entry, relative to the TChain
272 pam-fi 1.31 Long64_t irunt; //current run entry, relative to the TTree in the TChain
273 pam-fi 1.17 Long64_t runfirstentry; //first entry of run, relative to the TChain
274     Long64_t runlastentry; //last entry of run, relative to the TChain
275     Long64_t irunentry; //position of current entry, relative to the run
276 pam-fi 1.13 TChain* run_tree;
277     TTree* run_tree_clone;
278     TChain* sel_tree;
279     TTree* sel_tree_clone;
280 pam-fi 1.26
281     // -------------------------------------------
282     // variables to store total live and dead time
283     // -------------------------------------------
284     ULong64_t totdltime[3];// 0=live 1=dead 2=n.events
285    
286 pam-fi 1.13 // ---------------------------------
287     // variables to retrieve level0 info
288     // ---------------------------------
289     TFile* l0_file;
290     TTree* l0_tree;
291     Int_t iroot;
292 mocchiut 1.16 Int_t prevshift; // to remember if any shift is needed to synchronize l0 and l2 data instead of calculating any time
293 mocchiut 1.29 Int_t maxshift; // EMILIANO maximum discrepancy between L2 and L0 data (the bigger the better concering synch but the processing speed drops) default = 10
294 pam-fi 1.13 // --------------------------------------------
295     // variables to store Level0 info (if required)
296     // --------------------------------------------
297     EventHeader* h0_obj;
298     TrkLevel0* trk0_obj;
299 pam-fi 1.17 CaloLevel0* calo0_obj;
300 pam-fi 1.13
301     // ---------------------------
302     // variables to connect the DB
303     // ---------------------------
304     TSQLServer* dbc;
305     TString host;
306     TString user;
307     TString psw;
308    
309     // ---------------------------------------------
310     // variables to retrieve and clone level1-2 info
311     // ---------------------------------------------
312     TChain* pam_tree;
313     TTree* pam_tree_clone[NCLONES];
314 mocchiut 1.18
315 pam-fi 1.13 // --------------------------------------------
316 pam-fi 1.30 // variables to store Level1-2 info
317 pam-fi 1.13 // --------------------------------------------
318 pam-fi 1.6 TrkLevel1* trk1_obj;
319     TrkLevel2* trk2_obj;
320     TrkHough* trkh_obj;
321     CaloLevel1* calo1_obj;
322     CaloLevel2* calo2_obj;
323 pam-fi 1.2 ToFLevel2* tof_obj;
324     TrigLevel2* trig_obj;
325     S4Level2* s4_obj;
326     NDLevel2* nd_obj;
327     AcLevel2* ac_obj;
328 pam-fi 1.6 OrbitalInfo* orb_obj;
329     GL_RUN* run_obj;
330 mocchiut 1.11 SoftInfo* soft_obj; // Emiliano
331 pam-fi 1.10
332 pam-fi 1.30 // --------------------------------------------
333     // variables to handle GP
334     // --------------------------------------------
335     GPamela* gp_obj;
336    
337 pam-fi 1.13 // -----------------------------------
338     // variables to sort the track
339     // -----------------------------------
340 pam-fi 1.10 TClonesArray *tsorted;
341     TClonesArray *timage;
342     PamTrack *track; //store the last required
343 mocchiut 1.20 TString howtosort;
344     Float_t sortthr;
345 pam-fi 1.7
346 pam-fi 1.30 // --------------------------------------
347     // flags to load level0-1-2 trees/braches
348     // --------------------------------------
349 pam-fi 1.6 Bool_t CAL2; //level2 branch
350     Bool_t CAL1; //level1 branch
351 pam-fi 1.13 Bool_t CAL0; //yoda
352 pam-fi 1.6
353     Bool_t TRK2; //level2 branch
354     Bool_t TRK1; //level1 branch
355     Bool_t TRKh; //hough branch
356 pam-fi 1.13 Bool_t TRK0; //yoda
357    
358     Bool_t TOF;
359     Bool_t TOF0;
360 pam-fi 1.6
361     Bool_t TRG;
362     Bool_t S4;
363     Bool_t ND;
364     Bool_t AC;
365     Bool_t ORB;
366 pam-fi 1.9
367 pam-fi 1.30 Bool_t GP; //GP simulation tree
368 pam-fi 1.25
369 pam-fi 1.30 // -----------
370     // other flags
371     // -----------
372     Bool_t RUN; // RunInfo tree
373     Bool_t ISGP; // GP simulation (...sort of patch, to skip OBT check, since OrbitalInfo is sometime missing)
374     Int_t SELLI; // tree of selected events (there is a selection list)
375 pam-fi 1.13
376 mocchiut 1.18 void Initialize();
377    
378 pam-fi 1.13
379     public:
380 pam-fi 1.6
381 mocchiut 1.18 PamLevel2(TString ddir,TString list,TString detlist);
382     PamLevel2(TString ddir,TString list);
383 pam-fi 1.1 PamLevel2();
384 pam-fi 1.10 ~PamLevel2(){Delete();};
385 pam-fi 1.2
386 pam-fi 1.6 void Clear();
387 mocchiut 1.18 void Reset();
388 pam-fi 1.10 void Delete();
389 pam-fi 1.2
390 mocchiut 1.12
391 pam-fi 1.13 // =============================================
392     // methods needed to read/write Level0-1-2 trees
393     // =============================================
394 pam-fi 1.6 void SetWhichTrees(TString);
395 pam-fi 1.8 void GetWhichTrees(TFile*);
396    
397     TTree* GetPamTree(TFile*,TString);
398 pam-fi 1.26 TTree* GetPamTree(TFile* f){return GetPamTree(f,"");};
399 pam-fi 1.8
400 pam-fi 1.6 TList* GetListOfLevel2Files(TString, TString);
401     Bool_t CheckLevel2File(TString);
402     TChain* GetPamTree(TList*,TString);
403 pam-fi 1.8 TChain* GetPamTree(TString ddir,TString list,TString detlist){ return GetPamTree(GetListOfLevel2Files(ddir,list),detlist); };
404     TChain* GetPamTree(TString ddir,TString list){ return GetPamTree(GetListOfLevel2Files(ddir,list),""); };
405 pam-fi 1.26 TChain* AddFriend(TString);
406 pam-fi 1.8
407 pam-fi 1.6 TTree* GetRunTree(TFile*);
408     TChain* GetRunTree(TList*);
409 mocchiut 1.12 TChain* GetRunTree(TString ddir,TString list){ return GetRunTree(GetListOfLevel2Files(ddir,list)); };
410 pam-fi 1.28 Bool_t UpdateRunInfo(Long64_t);//{ return UpdateRunInfo(run_tree,iev); };
411 pam-fi 1.17 Bool_t UpdateRunInfo(TTree *,Long64_t);
412     Bool_t UpdateRunInfo(TChain *,Long64_t);
413 pam-fi 1.7
414 pam-fi 1.8 void CreateCloneTrees0(TChain *fChain, TFile* file);
415     void CreateCloneTrees(TFile* file);
416 pam-fi 1.23 void CreateCloneTrees(){CreateCloneTrees(NULL);};
417 pam-fi 1.7 void FillCloneTrees();
418     TTree *GetCloneTree(TString);
419     void WriteCloneTrees();
420    
421 pam-fi 1.6 void SetBranchAddress(TTree *);
422     void SetBranchAddress(TChain *);
423    
424 pam-fi 1.17 // Int_t GetEntry(Int_t);
425     Int_t GetEntry(Long64_t);
426 pam-fi 1.13 Int_t GetYodaEntry();
427 mocchiut 1.21
428 mocchiut 1.29 void SetMaxShift(Int_t sh){ maxshift = sh; return;}; // EMILIANO method to change the maxshift variable
429    
430 mocchiut 1.21 Long64_t GetEntries(){return pam_tree->GetEntries();};
431 pam-fi 1.13 TChain* GetPamTree(){return pam_tree;};
432     TChain* GetRunTree(){return run_tree;};
433     TTree* GetYodaTree();
434    
435 mocchiut 1.16 TFile* GetYodaFile(){return l0_file;}; // can be useful to know the name of level0 file we are using or similar things
436    
437 pam-fi 1.13 // =============
438     // DB connection
439     // =============
440     void SetDBHost(TString str){host=str;};
441     void SetDBUser(TString str){user=str;};
442     void SetDBPsw(TString str){psw=str;};
443 pam-fi 1.24 TSQLServer* GetSQLServer(){return dbc;};
444     Bool_t SetDBConnection();
445 pam-fi 1.13
446 pam-fi 1.10 // ========================================================
447     // methods needed to retrieve subdetector general variables
448     // ========================================================
449 pam-fi 1.6 void* GetPointerTo(const char*);
450 pam-fi 1.15 EventHeader *GetEventHeader() { return h0_obj; };
451 pam-fi 1.24
452     /* TrkLevel0 *GetTrkLevel0() { return trk0_obj; }; */
453     /* CaloLevel0 *GetCaloLevel0() { return calo0_obj; }; */
454     TrkLevel0 *GetTrkLevel0();
455     CaloLevel0 *GetCaloLevel0();
456    
457 pam-fi 1.13
458     TrkLevel1 *GetTrkLevel1() { return trk1_obj; };
459     TrkLevel2 *GetTrkLevel2() { return trk2_obj; };
460     TrkHough *GetTrkHough() { return trkh_obj; };
461 pam-fi 1.10 CaloLevel1 *GetCaloLevel1() { return calo1_obj;};
462     CaloLevel2 *GetCaloLevel2() { return calo2_obj;};
463 pam-fi 1.13 ToFLevel2 *GetToFLevel2() { return tof_obj; };
464     TrigLevel2 *GetTrigLevel2() { return trig_obj; };
465     S4Level2 *GetS4Level2() { return s4_obj; };
466     NDLevel2 *GetNDLevel2() { return nd_obj; };
467     AcLevel2 *GetAcLevel2() { return ac_obj; };
468     OrbitalInfo *GetOrbitalInfo(){ return orb_obj; };
469     GL_RUN *GetRunInfo() { return run_obj; };
470 mocchiut 1.11 SoftInfo *GetSoftInfo() { return soft_obj; }; // Emiliano
471 pam-fi 1.30 GPamela *GetGPamela() { return gp_obj; };
472 pam-fi 1.3
473     // ==============================================
474     // methods to retrieve subdetectors stored tracks
475     // ==============================================
476 pam-fi 1.10 TrkTrack* GetTrkStoredTrack(int seqno){return trk2_obj->TrkLevel2::GetStoredTrack(seqno); };
477 pam-fi 1.6 CaloTrkVar* GetCaloStoredTrack(int);
478     ToFTrkVar* GetToFStoredTrack(int);
479     //
480     PamTrack* GetPamTrackAlong(TrkTrack*);
481 pam-fi 1.3 // PamTrack* GetPamTrackAlong(CaloTrkVar*); //se serve
482     // PamTrack* GetPamTrackAlong(ToFTrkVar*); //se serve
483    
484 pam-fi 1.1 // =================================
485     // methods to retrieve pamela tracks
486     // =================================
487 pam-fi 1.3 PamTrack* GetStoredTrack(Int_t);
488 pam-fi 1.6 //
489     void SortTracks(TString); //assign value to variable sorted_tracks
490 mocchiut 1.20 void SortTracks(); //assign value to variable sorted_tracks
491 pam-fi 1.10 // TRefArray* GetTracks(); //return sorted_tracks
492     TClonesArray* GetTracks(); //return sorted_tracks
493 pam-fi 1.6 PamTrack* GetTrack(int);
494 pam-fi 1.1 PamTrack* GetTrackImage(int);
495 mocchiut 1.20 void SetSortingMethod(TString how){ howtosort = how; return;};
496     TString GetSortingMethod(){return howtosort;};
497     void SetNucleiSortingThreshold(Float_t nucleithr){ sortthr = nucleithr; return;};
498     Float_t GetNucleiSortingThreshold(){ return sortthr;};
499 pam-fi 1.2
500 pam-fi 1.6 // =================================
501     // other methods
502     // =================================
503 pam-fi 1.10 // Int_t ntrk(){ return trk2_obj->TrkLevel2::ntrk(); };
504 pam-fi 1.6
505 pamela 1.14 // -----
506     // flags methods
507     // -----
508     Bool_t IsCAL2(){return CAL2;}; //level2 branch
509     Bool_t IsCAL1(){return CAL1;}; //level1 branch
510     Bool_t IsCAL0(){return CAL0;}; //yoda
511    
512     Bool_t IsTRK2(){return TRK2;}; //level2 branch
513     Bool_t IsTRK1(){return TRK1;}; //level1 branch
514     Bool_t IsTRKh(){return TRKh;}; //hough branch
515     Bool_t IsTRK0(){return TRK0;}; //yoda
516    
517     Bool_t IsTOF(){return TOF;};
518     Bool_t IsTOF0(){return TOF0;};
519    
520     Bool_t IsTRG(){return TRG;};
521     Bool_t IsS4(){return S4;};
522     Bool_t IsND(){return ND;};
523     Bool_t IsAC(){return AC;};
524     Bool_t IsORB(){return ORB;};
525    
526     Bool_t IsRUN(){return RUN;};
527    
528 mocchiut 1.22 Bool_t IsGood();
529    
530 pamela 1.14 Int_t IsSELLI(){return SELLI;}; //trees of selected events (there is a selection list)
531 pam-fi 1.6
532 pam-fi 1.25 Bool_t IsGP(){return ISGP;};
533    
534     void SetGP(Bool_t tt){ISGP=tt;};
535    
536    
537 pam-fi 1.1 ClassDef(PamLevel2,1);
538     };
539    
540     //===============================================================================================
541     //
542     //
543     //
544     //
545     //===============================================================================================
546    
547    
548     #endif
549    

  ViewVC Help
Powered by ViewVC 1.1.23