class AliTRDCalDet;
#include "TObjString.h"
-#include "AliAnalysisTask.h"
+#include "AliAnalysisTaskSE.h"
#include "TMath.h"
-class AliTRDCalibTask : public AliAnalysisTask {
+class AliTRDCalibTask : public AliAnalysisTaskSE {
public:
AliTRDCalibTask(const char *name = "AliTRDCalibTask");
virtual ~AliTRDCalibTask();
- virtual void ConnectInputData(Option_t *);
- virtual void CreateOutputObjects();
- virtual void Exec(Option_t *);
+ // virtual void ConnectInputData(Option_t *);
+ virtual void UserCreateOutputObjects();
+ virtual void UserExec(Option_t *);
virtual void Terminate(Option_t *);
virtual Bool_t Load(const Char_t *filename);
virtual Bool_t Load(TList *lister);
void SetUseTPCVertex() {fVtxTPC=kTRUE ; fVtxSPD=kFALSE;}
void SetUseSPDVertex() {fVtxTPC=kFALSE; fVtxSPD=kTRUE ;}
void SetMinNbOfContributors(Int_t minNbOfContributors) {fMinNbContributors = minNbOfContributors;};
- void SetRangePrimaryVertexZ(Double_t rangePrimaryVertexZ) {fRangePrimaryVertexZ = TMath::Abs(rangePrimaryVertexZ);};
+ void SetRangePrimaryVertexZ(Double_t rangePrimaryVertexZ) {fRangePrimaryVertexZ = TMath::Abs(rangePrimaryVertexZ);};
+ void SetMinNbTracks(Int_t minNbTracks) {fMinNbTracks = minNbTracks;};
+ void SetMaxNbTracks(Int_t maxNbTracks) {fMaxNbTracks = maxNbTracks;};
+
+ void SetVersionGainUsed(Int_t versionGainUsed) { fVersionGainUsed = versionGainUsed; }
+ void SetSubVersionGainUsed(Int_t subVersionGainUsed) { fSubVersionGainUsed = subVersionGainUsed; }
+ void SetVersionGainLocalUsed(Int_t versionGainLocalUsed) { fVersionGainLocalUsed = versionGainLocalUsed; }
+ void SetSubVersionGainLocalUsed(Int_t subVersionGainLocalUsed) { fSubVersionGainLocalUsed = subVersionGainLocalUsed; }
+ void SetVersionVdriftUsed(Int_t versionVdriftUsed) { fVersionVdriftUsed = versionVdriftUsed; }
+ void SetSubVersionVdriftUsed(Int_t subVersionVdriftUsed) { fSubVersionVdriftUsed = subVersionVdriftUsed; }
void SetLow(Int_t low) {fLow=low;};
void SetHigh(Int_t high) {fHigh=high;};
void SetNbMaxCluster(Short_t nbMaxCluster) {fNbMaxCluster = nbMaxCluster; };
void SetOfflineTracks() {fOfflineTracks=kTRUE; fStandaloneTracks=kFALSE; };
void SetStandaloneTracks() {fStandaloneTracks=kTRUE; fOfflineTracks=kFALSE; };
-
- void SetCalDetGain(AliTRDCalDet * const calDetGain) {fCalDetGain = calDetGain;};
+
+ void SetCalDetGain(AliTRDCalDet * const calDetGain) {fCalDetGain = calDetGain;};
void SetMaxEvent(Int_t nbevents) { fMaxEvent = nbevents; };
void SetDebug(Int_t debug) { fDebug = debug; };
private:
+ Bool_t SetVersionSubversion();
+ Bool_t ParticleGood(int i) const;
+
AliESDEvent *fESD; //! ESD object
AliESDfriend *fESDfriend; //! ESD friend
const AliESDtrack *fkEsdTrack; //! ESD track
AliTRDCalibraFillHisto *fTRDCalibraFillHisto; //! calibration analyse object
TH1I *fNEvents; //! counter
+ TH1I *fNEventsInput; //! counter
TH1F *fNbTRDTrack; //! nb ESD tracks with TRD clusters
TH1F *fNbTRDTrackOffline; //! nb ESD tracks with TRD clusters
TH1F *fNbTRDTrackStandalone; //! nb ESD tracks with TRD clusters
TH2F *fNbTPCTRDtrack; //! nb TPC and TRD tracks when problems
+ TH2F *fNbGoodTracks; //! nb of good tracks
TH1F *fNbTimeBin; //! nb Time Bin
TH1F *fNbTimeBinOffline; //! nb Time Bin offline
Bool_t fVtxSPD; // Flag for use of SPD vertex
Int_t fMinNbContributors; // Min number of contributors
Double_t fRangePrimaryVertexZ; // Were the primary vertex is
+ Int_t fMinNbTracks; // Min Nb Tracks
+ Int_t fMaxNbTracks; // Max Nb Tracks
Int_t fLow; // lower limit of nb of TRD clusters per tracklet
Int_t fHigh; // higher limit of nb of TRD clusters per tracklet
Bool_t fOfflineTracks; // Only Offline refitted tracks
Bool_t fStandaloneTracks; // Take only standalone tracks
+ Int_t fVersionGainUsed; // VersionGainUsed
+ Int_t fSubVersionGainUsed; // SubVersionGainUsed
+ Int_t fVersionGainLocalUsed; // VersionGainLocalUsed
+ Int_t fSubVersionGainLocalUsed; // SubVersionGainLocalUsed
+ Int_t fVersionVdriftUsed; // VersionVdriftUsed
+ Int_t fSubVersionVdriftUsed; // SubVersionVdriftUsed
+
AliTRDCalDet *fCalDetGain; // Calib object gain
Int_t fMaxEvent; // max events
#endif
+