////////////////////////////////////////////////////////// // This class has been automatically generated on // Thu Oct 1 20:13:36 2015 by ROOT version 5.34/10 // from TTree Clusters/TbUT nTuple // found on file: /data2/pmmannin/BoardA6/Run_Bias_Scan-B6-A-212-8358_Tuple_tracks.root ////////////////////////////////////////////////////////// #ifndef AnalysisBase_h #define AnalysisBase_h #include <TROOT.h> #include <iostream> #include <TChain.h> #include <TTree.h> #include <TMath.h> #include <TFile.h> #include <TH2.h> #include <TF1.h> #include <TProfile.h> #include <TString.h> #include <TGraph.h> #include <TGraphErrors.h> //#include "myInputs.h" #include "AnalysisBase_Inputs.h" // Header file for the classes stored in the TTree if any. #include <vector> // Fixed size dimensions of array or collections stored in the TTree if any. class AnalysisBase { public : TTree *fChain; //!pointer to the analyzed TTree or TChain Int_t fCurrent; //!current Tree number in a TChain // Declaration of leaf types Int_t clusterNumberPerEvent; UInt_t clustersTDC; ULong64_t timestamps; Double_t clustersPosition[10]; Int_t clustersSeedPosition[10]; Double_t clustersCharge[10]; Int_t clustersSize[10]; Double_t clustersSeedCharge[10]; Double_t clustersCharge2StripLeft[10]; Double_t clustersCharge1StripLeft[10]; Double_t clustersCharge1StripRight[10]; Double_t clustersCharge2StripRight[10]; Double_t dtime; Int_t n_tp3_tracks; vector<double> *vec_trk_x; vector<double> *vec_trk_y; vector<double> *vec_trk_tx; vector<double> *vec_trk_ty; vector<double> *vec_trk_chi2ndf; // List of branches TBranch *b_clusterNumberPerEvent; //! TBranch *b_clustersTDC; //! TBranch *b_timestamps; //! TBranch *b_clustersPosition; //! TBranch *b_clustersSeedPosition; //! TBranch *b_clustersCharge; //! TBranch *b_clustersSize; //! TBranch *b_clustersSeedCharge; //! TBranch *b_clustersCharge2StripLeft; //! TBranch *b_clustersCharge1StripLeft; //! TBranch *b_clustersCharge1StripRight; //! TBranch *b_clustersCharge2StripRight; //! TBranch *b_n_tp3_tracks; //! TBranch *b_vec_trk_x; //! TBranch *b_vec_trk_y; //! TBranch *b_vec_trk_tx; //! TBranch *b_vec_trk_ty; //! TBranch *b_vec_trk_chi2ndf; //! TBranch *b_dtime; //! double stripPitch; double z_DUT; double Rz; double Ry; double dxWin; double xGloOff; double yGloOff; double xOff; float iLo, iHi; float tdcLo, tdcHi; float yMin,yMax; float xMin,xMax; float yMid, yHi2; float tyMin,tyMax; float txMin,txMax; Int_t skipChannel[512]; double xLeftHole; double xRightHole; Int_t lowEdge, hiEdge; Double_t stripGap[4]; Double_t deadRegionLo[20]; Double_t deadRegionHi[20]; Int_t nDeadRegion; double yInt1[2]; double yInt2[2]; double yInt3[2]; float polarity; TH1F *hMeanNoise; TH1F *hWidthNoise; double holeQuadPar[3]; bool removeTracksInHole; double minDistFromHole; bool holeSector; bool correctForZRotation; double chargeCorrSlopeOdd; double chargeCorrSlopeEven; double noise[512]; double channelOffset; AnalysisBase(TTree *tree=0); virtual ~AnalysisBase(); //virtual Int_t Cut(Long64_t entry); virtual Int_t GetEntry(Long64_t entry); virtual Long64_t LoadTree(Long64_t entry); virtual void Init(TTree *tree); virtual void Loop() = 0; //make it pure virtual! virtual Bool_t Notify(); virtual void Show(Long64_t entry = -1); virtual void getRange(TH1 *h, float &lo, float& hi, float thresh = 0.25, int nSkipMax=5); virtual void getTDCBins(TProfile* h, float& lo, float& hi); virtual void getBeamLocation(TH1F *h, float &lo, float& hi); virtual double getXOffset(TH1F *h1w); virtual void getBeamLoc(); virtual void getTDC(); virtual void findBeamRegionAndAlign(int iPass = 1); virtual Double_t getCorrChannel(double ch); virtual void findChipBoundary(); virtual void setCrossTalkCorr(); virtual void findDeadRegions(); virtual void transformTrackToDUTFrame(int k, double& x_trk, double& y_trk, double& nomStrip, double& detStrip); virtual void PrepareDUT(); virtual Double_t getDUTHitPosition(int j); virtual void findCutoutRegion(TH2F* h); virtual bool isInCutoutRegion(double xtrk, double ytrk); virtual double DistToCutoutRegion(double xtrk, double ytrk); virtual void correctForStripGaps(); }; #endif