X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCCalibKr.h;h=dec1481e544ed6e8cfedb93241b8e60c6d80fe9a;hb=8e5db053220202db87da44e2abf1bba86c54ed13;hp=d54c750c306aca5378aaa021912a353c93ad0559;hpb=72e010d3e6f37669a4747362036ddd825d2faadc;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCCalibKr.h b/TPC/AliTPCCalibKr.h index d54c750c306..dec1481e544 100644 --- a/TPC/AliTPCCalibKr.h +++ b/TPC/AliTPCCalibKr.h @@ -1,65 +1,93 @@ -#ifndef ALITPCCALIBKR_H -#define ALITPCCALIBKR_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -#include -#include -#include -#include -#include - -#include "AliTPCclusterKr.h" - -class TH3F; -class TH1D; - -class AliTPCCalibKr : public TObject { - -public: - AliTPCCalibKr(); - AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor - virtual ~AliTPCCalibKr(); - - AliTPCCalibKr& operator=(const AliTPCCalibKr&); - - // - void Init(); - Bool_t Process(); - Bool_t ReadEntry(Int_t evt); - Bool_t Update(AliTPCclusterKr *cluster); - TH3F* CreateHisto(Int_t chamber); - - const TObjArray* GetHistoKrArray () {return &fHistoKrArray;} // get calibration object - TH3F* GetHistoKr(Int_t sector) const; // get refernce histogram - - Bool_t IsCSide(Int_t chamber); - Bool_t IsIROC(Int_t chamber); - - Bool_t Terminate(); - void Analyse(); - static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0); - - void SetInputChain(TChain *inChain) {fTree = (TTree*) inChain;} - void SetOutputHisto(Bool_t bHisto = kTRUE) {bOutputHisto = bHisto;} - - void SetASide(Bool_t bA = kTRUE) {bASide = bA;} // fill histo only A TPC side - void SetBSide(Bool_t bC = kTRUE) {bCSide = bC;} // fill histo only C TPC side - -private: - - Bool_t bOutputHisto; //! - Bool_t bASide; //! - Bool_t bCSide; //! - - TClonesArray *fClusters; //! - AliTPCclusterKr *fClustKr; //! - TTree *fTree; //! - TObjArray fHistoKrArray; // Calibration histograms for Kr distribution - -public: - ClassDef(AliTPCCalibKr, 1) // Implementation of the TPC pedestal and noise calibration -}; - -#endif - +#ifndef ALITPCCALIBKR_H +#define ALITPCCALIBKR_H +/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * See cxx source for full Copyright notice */ + +#include +#include +#include +#include +#include + +#include "AliTPCclusterKr.h" + +class TH3F; +class TH1D; + +class AliTPCCalibKr : public TObject { + +public: + AliTPCCalibKr(); + AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor + virtual ~AliTPCCalibKr(); + + AliTPCCalibKr& operator=(const AliTPCCalibKr&); + + // + void Init(); + Bool_t Process(AliTPCclusterKr *cluster); + Bool_t Accept(AliTPCclusterKr *cluster); + Bool_t Update(AliTPCclusterKr *cluster); + TH3F* CreateHisto(Int_t chamber); + + const TObjArray* GetHistoKrArray () {return &fHistoKrArray;} // get calibration object + TH3F* GetHistoKr(Int_t sector) const; // get refernce histogram + + Bool_t IsCSide(Int_t chamber); + Bool_t IsIROC(Int_t chamber); + + void Analyse(); + static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0); + + void SetASide(Bool_t bA = kTRUE) {fASide = bA;} // fill histo only A TPC side + void SetBSide(Bool_t bC = kTRUE) {fCSide = bC;} // fill histo only C TPC side + + //Merge output objects (needed by PROOF) + virtual Long64_t Merge(TCollection* list); + + // Setters + void SetADCOverClustSizeRange(Float_t min=0.0,Float_t max=1.0e9) {fADCOverClustSizeMin = min ; fADCOverClustSizeMax = max; } + void SetMaxADCOverClustADCRange(Float_t min=0.0,Float_t max=1.0e9) {fMaxADCOverClustADCMin = min ; fMaxADCOverClustADCMax = max; } + void SetTimeRange(Float_t min=0.0, Float_t max=1.0e9) {fTimeMin = min ; fTimeMax = max; } + void SetClustSizeRange(Float_t min=0.0, Float_t max=1.0e9) {fClustSizeMin = min ; fClustSizeMax = max; } + + void SetTimebinRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fTimebinRmsIrocMin = iroc ; fTimebinRmsOrocMin = oroc; } + void SetPadRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fPadRmsIrocMin = iroc ; fPadRmsOrocMin = oroc; } + void SetRowRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fRowRmsIrocMin = iroc ; fRowRmsOrocMin = oroc; } + void SetClusterPadSize1DMax(Short_t iroc=200,Short_t oroc=200) {fClusterPadSize1DIrocMax = iroc ; fClusterPadSize1DOrocMax = oroc; } + void SetCurveCoefficient(Float_t iroc=1.0e9,Float_t oroc=1.0e9) {fCurveCoefficientIroc = iroc ; fCurveCoefficientOroc = oroc; } + +private: + + Bool_t fASide; //! Only A side + Bool_t fCSide; //! Only C side + TObjArray fHistoKrArray; // Calibration histograms for Kr distribution + + Float_t fADCOverClustSizeMin; // min ADCcluster over Cluster size ratio + Float_t fADCOverClustSizeMax; // max ADCcluster over Cluster size ratio + Float_t fMaxADCOverClustADCMin; // min MaxADC over ADCcluster ratio + Float_t fMaxADCOverClustADCMax; // max MaxADC over ADCcluster ratio + Float_t fTimeMin; // min time bin for MaxADC + Float_t fTimeMax; // max time bin for MaxADC + Float_t fClustSizeMin; // min cluster size + Float_t fClustSizeMax; // max cluster size + + Float_t fTimebinRmsIrocMin; // min Timebin RMS for IROCs + Float_t fPadRmsIrocMin; // min Pad RMS for IROCs + Float_t fRowRmsIrocMin; // min Row RMS for IROCs + Short_t fClusterPadSize1DIrocMax; // max size of cluster in pad dir. for IROCs + Float_t fCurveCoefficientIroc; // A coefficient in curve function for IROCs + + Float_t fTimebinRmsOrocMin; // min Timebin RMS for OROCs + Float_t fPadRmsOrocMin; // min Pad RMS for OROCs + Float_t fRowRmsOrocMin; // min Row RMS for OROCs + Short_t fClusterPadSize1DOrocMax; // max size of cluster in pad dir. for OROCs + Float_t fCurveCoefficientOroc; // A coefficient in curve function for OROCs + + +public: + ClassDef(AliTPCCalibKr, 2) // Implementation of the TPC krypton calibration +}; + +#endif +