///////////////////////////////////////////////////////////////////////////////
// //
// Class to analyse tracks for calibration //
-// to be used as a component in AliTPCSelectorTracks //
+// to be used as a component in AliTPCSelectorTracks //
// In the constructor you have to specify name and title //
// to get the Object out of a file. //
// The parameter 'clusterParam', a AliTPCClusterParam object //
class AliESDtrack;
class AliTPCclusterMI;
class AliTPCcalibTracksCuts;
-class AliTPCCalPadRegion;
class AliTPCCalPad;
class TChain;
class TTree;
virtual Long64_t Merge(TCollection *li);
void AddHistos(AliTPCcalibTracks* calib);
void MakeResPlotsQTree(Int_t minEntries = 100, const char* pathName = "plots");
- static void MakeQPosNormAll(TTree * chain, AliTPCClusterParam * param, Int_t maxPoints=1000000);
void MakeReport(Int_t stat, const char* pathName = "plots"); // calls all functions that procude pictures, results are written to pathName, stat is the minimal statistic threshold
- //
-
-
+ //
Int_t AcceptTrack(AliTPCseed * track);
void FillResolutionHistoLocal(AliTPCseed * track); // the MAIN-FUNCTION, called for each track to fill the histograms, called by Process(...)
- static TH2D* MakeDiff(TH2D * hfit, TF2 * func);
- static AliTPCcalibTracks* TestMerge(AliTPCcalibTracks *ct, AliTPCClusterParam *clusterParam, Int_t nCalTracks = 50);
void SetStyle() const;
- void Draw(Option_t* opt); // draw some exemplaric histograms for fast result-check
- void MakeAmpPlots(Int_t stat, const char* pathName = "plots");
- void MakeDeltaPlots(const char* pathName = "plots");
- void MakeChargeVsDriftLengthPlotsOld(const char* pathName = "plots");
- void MakeChargeVsDriftLengthPlots(const char* pathName = "plots");
- void FitResolutionNew(const char* pathName = "plots");
- void FitRMSNew(const char* pathName = "plots");
- TObjArray* GetfArrayAmpRow() const {return fArrayAmpRow;}
- TObjArray* GetfArrayAmp() const {return fArrayAmp;}
TObjArray* GetfArrayQDY() const {return fArrayQDY;}
TObjArray* GetfArrayQDZ() const {return fArrayQDZ;}
TObjArray* GetfArrayQRMSY() const {return fArrayQRMSY;}
TObjArray* GetfArrayQRMSZ() const {return fArrayQRMSZ;}
- TObjArray* GetfArrayChargeVsDriftlength() const {return fArrayChargeVsDriftlength;}
- TH1F* GetfDeltaY() const {return fDeltaY;}
- TH1F* GetfDeltaZ() const {return fDeltaZ;}
TObjArray* GetfResolY() const {return fResolY;}
TObjArray* GetfResolZ() const {return fResolZ;}
TObjArray* GetfRMSY() const {return fRMSY;}
TObjArray* GetfRMSZ() const {return fRMSZ;}
- TH1I* GetfHclus() const {return fHclus;}
TH1I* GetfRejectedTracksHisto() const {return fRejectedTracksHisto;}
- TH1I* GetfHclusterPerPadrow() const {return fHclusterPerPadrow;}
- TH1I* GetfHclusterPerPadrowRaw() const {return fHclusterPerPadrowRaw;}
TH2I* GetfClusterCutHisto() const {return fClusterCutHisto;}
AliTPCCalPad* GetfCalPadClusterPerPad() const {return fCalPadClusterPerPad; }
AliTPCCalPad* GetfCalPadClusterPerPadRaw() const {return fCalPadClusterPerPadRaw;}
- AliTPCCalPadRegion* GetCalPadRegionchargeVsDriftlength() const {return fcalPadRegionChargeVsDriftlength;}
AliTPCcalibTracksCuts* GetCuts() {return fCuts;}
void MakeHistos(); //make THnSparse
+ static void MakeSummaryTree(THnSparse *hisInput, TTreeSRedirector *pcstream, Int_t ptype);
protected:
private:
static Int_t GetBin(Int_t iq, Int_t pad);
static Float_t GetQ(Int_t bin);
static Float_t GetPad(Int_t bin);
- void FillResolutionHistoLocalDebugPart(AliTPCseed *track, AliTPCclusterMI *cluster0, Int_t irow, Float_t angley, Float_t anglez, Int_t nclFound, Int_t kDelta);
AliTPCClusterParam *fClusterParam; // pointer to cluster parameterization
AliTPCROC *fROC; //!
+public:
THnSparse *fHisDeltaY; // THnSparse - delta Y
THnSparse *fHisDeltaZ; // THnSparse - delta Z
THnSparse *fHisRMSY; // THnSparse - rms Y
THnSparse *fHisQmax; // THnSparse - qmax
THnSparse *fHisQtot; // THnSparse - qtot
-
- TObjArray *fArrayAmpRow; // array with amplitudes versus row for given sector
- TObjArray *fArrayAmp; // array with amplitude for sectors
+private:
TObjArray *fArrayQDY; // q binned delta Y histograms
TObjArray *fArrayQDZ; // q binned delta Z histograms
TObjArray *fArrayQRMSY; // q binned delta Y histograms
TObjArray *fArrayQRMSZ; // q binned delta Z histograms
- TObjArray *fArrayChargeVsDriftlength; // array of arrays of TProfiles with charge vs. driftlength for each padsize and sector
- AliTPCCalPadRegion *fcalPadRegionChargeVsDriftlength; // CalPadRegion, one TProfile for charge vs. driftlength for each padsize and sector
- TH1F *fDeltaY; // integrated delta y histo
- TH1F *fDeltaZ; // integrated delta z histo
TObjArray *fResolY; // array of resolution histograms Y
TObjArray *fResolZ; // array of resolution histograms Z
TObjArray *fRMSY; // array of RMS histograms Y
TObjArray *fRMSZ; // array of RMS histograms Z
AliTPCcalibTracksCuts *fCuts; // object with cuts, that is passed to the constructor
- TH1I *fHclus; // number of clusters per track
TH1I *fRejectedTracksHisto; // histogram of rejecteced tracks, the number coresponds to the failed cut
- TH1I *fHclusterPerPadrow; // histogram showing the number of clusters per padRow
- TH1I *fHclusterPerPadrowRaw;// histogram showing the number of clusters per padRow before cuts on clusters are applied
TH2I *fClusterCutHisto; // histogram showing in which padRow the clusters were cutted by which criterium
AliTPCCalPad *fCalPadClusterPerPad; // AliTPCCalPad showing the number of clusters per Pad
AliTPCCalPad *fCalPadClusterPerPadRaw; // AliTPCCalPad showing the number of clusters per Pad before cuts on clusters are applied
- ClassDef(AliTPCcalibTracks,1)
+ ClassDef(AliTPCcalibTracks,2)
};