ThermalChain.h
1 
2 
3 
4 #ifndef ACCLAIM_THERMAL_CHAIN_H
5 #define ACCLAIM_THERMAL_CHAIN_H
6 
7 #include "TCut.h"
8 #include "AnitaConventions.h"
9 #include "Adu5Pat.h"
10 
11 class TChain;
12 class TEntryList;
13 
14 namespace Acclaim {
15 
16 
24  class ThermalChain {
25 
26  public:
27  ThermalChain(const char* glob, const char* treeName="thermalTree");
28  virtual ~ThermalChain();
29  void addCut(const TCut& cut);
30  void addCut(const char* cut);
31  void setCut(const TCut& cut);
32  void setCut(const char* cut);
33 
34  TChain* getChain() const {return fChain;}
35  Long64_t N() const;
36 
37  Long64_t getEntry(Long64_t entry);
38  Long64_t getEvent(UInt_t eventNumber);
39  bool GetUseProof(){return fUseProof;}
40  void SetUseProof(bool useProof=true);
41 
42 
43 
48  Int_t run;
49  UInt_t eventNumber;
50  UInt_t realTime;
52  Int_t peakInd;
53  Float_t peak_phi;
54  Float_t peak_theta;
55  Float_t anita_longitude;
56  Float_t anita_latitude;
57  Float_t anita_altitude;
58  Float_t anita_heading;
59  Float_t coherent_filtered_snr;
60  Float_t weight;
61  Float_t mc_energy;
62  Float_t peak_value;
63  Float_t coherent_filtered_peakHilbert;
64  Float_t deconvolved_filtered_peakHilbert;
65  Float_t coherent_filtered_impulsivityMeasure;
66  Float_t deconvolved_filtered_impulsivityMeasure;
67  Float_t coherent_filtered_fracPowerWindowGradient;
68  Float_t deconvolved_filtered_fracPowerWindowGradient;
69 
70 
74  Int_t duringHiCal;
75  Double_t hiCalPhi;
76  Double_t hiCalTheta;
77  UInt_t eventNumber2;
78  Int_t run2;
79 
80 
81 
85  Double_t longitude;
86  Double_t latitude;
87  Double_t altitude;
88  Double_t thetaAdjustmentRequired;
89  Int_t onContinent;
90  Int_t onIceShelf;
91  Double_t iceThickness;
92  UInt_t eventNumber3;
93  Int_t run3;
94 
95 
96  Adu5Pat pat();
97  Double_t fisherDiscriminant();
98 
99  private:
100  TChain* fChain;
101  TChain* fFriendChain1;
102  TChain* fFriendChain2;
103 
104  TCut fCut;
105  mutable bool fEntryListDirty;
106  mutable TEntryList* fEntryList;
107  bool fUseProof;
108  void makeSelection() const;
109  void doTypeConversions();
110 
111  Int_t fAnitaVersion;
112 
113  void setBranches();
114  Int_t eventNumberInt;
115  Int_t realTimeInt;
116  Float_t polFloat;
117  Float_t peakIndFloat;
118  };
119 
120 
121 
122 }
123 
124 
125 
126 #endif
void setCut(const TCut &cut)
Adu5Pat – The ADU5 Position and Attitude Data.
Definition: Adu5Pat.h:26
void addCut(const TCut &cut)
Namespace which wraps everything in the library.
A class to handle loading Thermal Trees into chains and applying cuts.
Definition: ThermalChain.h:24
Long64_t N() const
enum AnitaPol::EAnitaPol AnitaPol_t
Polarisation enumeration.