X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCcalibTracks.h;h=99926d26a07e3502d5e07357d2d6f4b18eae8d33;hb=879c23336c35abcaa8002e8dab95614a1d898068;hp=181937596eb17ad84766c7f9e37120382be4afe0;hpb=ccb771e140afcc86606864d3a38facaa7cea4032;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCcalibTracks.h b/TPC/AliTPCcalibTracks.h index 181937596eb..99926d26a07 100644 --- a/TPC/AliTPCcalibTracks.h +++ b/TPC/AliTPCcalibTracks.h @@ -19,7 +19,7 @@ -#include +#include class TF2; class TH3F; class TH1F; @@ -39,79 +39,78 @@ class AliTPCcalibTracksCuts; class AliTPCCalPadRegion; class AliTPCCalPad; class TChain; +class TTree; class TMutex; +class AliESDEvent; using namespace std; -class AliTPCcalibTracks : public TNamed { +class AliTPCcalibTracks : public AliTPCcalibBase { public : AliTPCcalibTracks(); // default constructor - AliTPCcalibTracks(AliTPCcalibTracks* ct); // copy constructor - AliTPCcalibTracks(const Text_t *name, const Text_t *title, AliTPCClusterParam *clusterParam, AliTPCcalibTracksCuts* cuts, Int_t logLevel = 0); - virtual ~AliTPCcalibTracks(); // destructor - - static void AddInfo(TChain *chain, char *fileName); // add clusterParametrization as user info to the chain - void Process(AliTPCseed *track, AliESDtrack *esd); // to be called by the Selector - - 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); + AliTPCcalibTracks(const AliTPCcalibTracks&calibTracks); // copy constructor + AliTPCcalibTracks(const Text_t *name, const Text_t *title, AliTPCClusterParam *clusterParam, AliTPCcalibTracksCuts* cuts, Int_t logLevel = 0); + AliTPCcalibTracks & operator=(const AliTPCcalibTracks& calibTracks); + + virtual ~AliTPCcalibTracks(); // destructor + + virtual void Process(AliTPCseed *track); // to be called by the Selector + void Process(AliESDEvent *event) {AliTPCcalibBase::Process(event);}; + void Process(AliESDtrack *track, Int_t runNo=-1){AliTPCcalibBase::Process(track,runNo);}; + virtual Long64_t Merge(TCollection *li); + 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 + // - Long64_t Merge(TCollection *li); - 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 MakeReport(Int_t stat, char* pathName = "plots"); // calls all functions that procude pictures, results are written to pathName, stat is the minimal statistic threshold - void MakeAmpPlots(Int_t stat, char* pathName = "plots"); - void MakeDeltaPlots(char* pathName = "plots"); - void MakeChargeVsDriftLengthPlotsOld(char* pathName = "plots"); - void MakeChargeVsDriftLengthPlots(char* pathName = "plots"); - void FitResolutionNew(char* pathName = "plots"); - void FitRMSNew(char* pathName = "plots"); - void MakeResPlotsQTree(Int_t minEntries = 100, char* pathName = "plots"); - // Thread-stuff: - // void MakeResPlotsQTreeThread(Int_t minEntries = 100, char* pathName = "plots"); - // static void* MakeResPlotsQTreeThreadFunction(void* arg); - -//protected: - TObjArray* GetfArrayAmpRow() {return fArrayAmpRow;} - TObjArray* GetfArrayAmp() {return fArrayAmp;} - TObjArray* GetfArrayQDY() {return fArrayQDY;} - TObjArray* GetfArrayQDZ() {return fArrayQDZ;} - TObjArray* GetfArrayQRMSY() {return fArrayQRMSY;} - TObjArray* GetfArrayQRMSZ() {return fArrayQRMSZ;} - TObjArray* GetfArrayChargeVsDriftlength() {return fArrayChargeVsDriftlength;} - TH1F* GetfDeltaY() {return fDeltaY;} - TH1F* GetfDeltaZ() {return fDeltaZ;} - TObjArray* GetfResolY() {return fResolY;} - TObjArray* GetfResolZ() {return fResolZ;} - TObjArray* GetfRMSY() {return fRMSY;} - TObjArray* GetfRMSZ() {return fRMSZ;} - TH1I* GetfHclus() {return fHclus;} - TH1I* GetfRejectedTracksHisto() {return fRejectedTracksHisto;} - TH1I* GetfHclusterPerPadrow() {return fHclusterPerPadrow;} - TH1I* GetfHclusterPerPadrowRaw() {return fHclusterPerPadrowRaw;} - TH2I* GetfClusterCutHisto() {return fClusterCutHisto;} - AliTPCCalPad* GetfCalPadClusterPerPad() {return fCalPadClusterPerPad; } - AliTPCCalPad* GetfCalPadClusterPerPadRaw() {return fCalPadClusterPerPadRaw;} - AliTPCCalPadRegion* GetCalPadRegionchargeVsDriftlength() {return fcalPadRegionChargeVsDriftlength;} - AliTPCcalibTracksCuts* GetCuts() {return fCuts;} - void SetLogLevel(Int_t level) {fDebugLevel = level;} - Int_t GetLogLevel() const {return fDebugLevel;} - + 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() {return fArrayAmpRow;} + TObjArray* GetfArrayAmp() {return fArrayAmp;} + TObjArray* GetfArrayQDY() {return fArrayQDY;} + TObjArray* GetfArrayQDZ() {return fArrayQDZ;} + TObjArray* GetfArrayQRMSY() {return fArrayQRMSY;} + TObjArray* GetfArrayQRMSZ() {return fArrayQRMSZ;} + TObjArray* GetfArrayChargeVsDriftlength() {return fArrayChargeVsDriftlength;} + TH1F* GetfDeltaY() {return fDeltaY;} + TH1F* GetfDeltaZ() {return fDeltaZ;} + TObjArray* GetfResolY() {return fResolY;} + TObjArray* GetfResolZ() {return fResolZ;} + TObjArray* GetfRMSY() {return fRMSY;} + TObjArray* GetfRMSZ() {return fRMSZ;} + TH1I* GetfHclus() {return fHclus;} + TH1I* GetfRejectedTracksHisto() {return fRejectedTracksHisto;} + TH1I* GetfHclusterPerPadrow() {return fHclusterPerPadrow;} + TH1I* GetfHclusterPerPadrowRaw() {return fHclusterPerPadrowRaw;} + TH2I* GetfClusterCutHisto() {return fClusterCutHisto;} + AliTPCCalPad* GetfCalPadClusterPerPad() {return fCalPadClusterPerPad; } + AliTPCCalPad* GetfCalPadClusterPerPadRaw() {return fCalPadClusterPerPadRaw;} + AliTPCCalPadRegion* GetCalPadRegionchargeVsDriftlength() {return fcalPadRegionChargeVsDriftlength;} + AliTPCcalibTracksCuts* GetCuts() {return fCuts;} protected: - ClassDef(AliTPCcalibTracks,1) - private: + static Int_t GetBin(Float_t q, Int_t pad); 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 - TTreeSRedirector *fDebugStream; //! debug stream for + AliTPCClusterParam *fClusterParam; // pointer to cluster parameterization AliTPCROC *fROC; //! TObjArray *fArrayAmpRow; // array with amplitudes versus row for given sector TObjArray *fArrayAmp; // array with amplitude for sectors @@ -135,13 +134,7 @@ private: 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 - Int_t fDebugLevel; // log level - debug output: -1: silence, 0: default, 1: things like constructor called, 5: write fDebugStream, 6: waste your screen - TLinearFitter *fFitterLinY1; //! - TLinearFitter *fFitterLinZ1; //! - TLinearFitter *fFitterLinY2; //! - TLinearFitter *fFitterLinZ2; //! - TLinearFitter *fFitterParY; //! - TLinearFitter *fFitterParZ; //! + ClassDef(AliTPCcalibTracks,1) };