From: abercuci Date: Wed, 24 Sep 2008 13:33:26 +0000 (+0000) Subject: - include the 90% electron cut for the PID (only user interface; to be implemented by X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=22a4ab0ca7a18d00e3554bec14a2cbe953701897;p=u%2Fmrichter%2FAliRoot.git - include the 90% electron cut for the PID (only user interface; to be implemented by Alex Wilk) - add trigger name in the qaRec train (Markus) --- diff --git a/TRD/AliTRDrecoParam.cxx b/TRD/AliTRDrecoParam.cxx index 5084ecd4be6..67f5bedff9c 100644 --- a/TRD/AliTRDrecoParam.cxx +++ b/TRD/AliTRDrecoParam.cxx @@ -73,6 +73,8 @@ AliTRDrecoParam::AliTRDrecoParam() fSysCovMatrix[2] = 0.; // snp fSysCovMatrix[3] = 0.; // tgl fSysCovMatrix[4] = 0.; // 1/pt + + memset(fPIDThreshold, 0, AliTRDCalPID::kNMom*sizeof(Double_t)); } //______________________________________________________________ @@ -91,6 +93,7 @@ AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref) ,fkChi2Z(ref.fkChi2Z) ,fkChi2Y(ref.fkChi2Y) ,fkChi2YCut(ref.fkChi2YCut) + ,fkChi2ZCut(ref.fkChi2ZCut) ,fkPhiCut(ref.fkPhiCut) ,fkMeanNclusters(ref.fkMeanNclusters) ,fkSigmaNclusters(ref.fkSigmaNclusters) @@ -113,6 +116,7 @@ AliTRDrecoParam::AliTRDrecoParam(const AliTRDrecoParam &ref) SetImproveTracklets(ref.HasImproveTracklets()); memcpy(fSysCovMatrix, ref.fSysCovMatrix, 5*sizeof(Double_t)); + memcpy(fPIDThreshold, ref.fPIDThreshold, AliTRDCalPID::kNMom*sizeof(Double_t)); } //______________________________________________________________ diff --git a/TRD/AliTRDrecoParam.h b/TRD/AliTRDrecoParam.h index 080c80ab9bc..4186f1f6912 100644 --- a/TRD/AliTRDrecoParam.h +++ b/TRD/AliTRDrecoParam.h @@ -14,6 +14,9 @@ #ifndef ALIDETECTORRECOPARAM_H #include "AliDetectorRecoParam.h" #endif +#ifndef ALITRDCALPID_H +#include "Cal/AliTRDCalPID.h" +#endif class AliTRDrecoParam : public AliDetectorRecoParam { @@ -33,6 +36,7 @@ public: Double_t GetMaxTheta() const { return fkMaxTheta; } Double_t GetMaxPhi() const { return fkMaxPhi; } Double_t GetPlaneQualityThreshold() const { return fkPlaneQualityThreshold; } + Double_t GetPIDThreshold(Float_t /*p*/){ return 0.;} Double_t GetRoad0y() const { return fkRoad0y; } Double_t GetRoad0z() const { return fkRoad0z; } Double_t GetRoad1y() const { return fkRoad1y; } @@ -79,6 +83,7 @@ public: void SetClusMaxThresh(Float_t thresh) { fClusMaxThresh = thresh; }; void SetClusSigThresh(Float_t thresh) { fClusSigThresh = thresh; }; void SetTailCancelation(Bool_t tc = kTRUE) { SetBit(kTC, tc); }; + inline void SetPIDThreshold(Double_t *pid); void SetNexponential(Int_t nexp) { fTCnexp = nexp; }; inline void SetSysCovMatrix(Double_t *sys); void SetNumberOfPresamples(Int_t n) { fNumberOfPresamples = n;} @@ -117,6 +122,7 @@ private: Double_t fkTrackLikelihood; // Track likelihood for tracklets Rieman fit Double_t fSysCovMatrix[5]; // Systematic uncertainty from calibration and alignment for each tracklet + Double_t fPIDThreshold[AliTRDCalPID::kNMom]; // Clusterization parameter Double_t fMinMaxCutSigma; // Threshold sigma noise pad middle @@ -147,6 +153,12 @@ inline void AliTRDrecoParam::SetSysCovMatrix(Double_t *sys) memcpy(fSysCovMatrix, sys, 5*sizeof(Double_t)); } +//___________________________________________________ +inline void AliTRDrecoParam::SetPIDThreshold(Double_t *pid) +{ + if(!pid) return; + memcpy(fPIDThreshold, pid, AliTRDCalPID::kNMom*sizeof(Double_t)); +} #endif diff --git a/TRD/AliTRDtrackV1.cxx b/TRD/AliTRDtrackV1.cxx index 3eaed3d17c3..77cfdaa5d0a 100644 --- a/TRD/AliTRDtrackV1.cxx +++ b/TRD/AliTRDtrackV1.cxx @@ -382,6 +382,14 @@ Double_t AliTRDtrackV1::GetPredictedChi2(const AliTRDseedV1 *trklt) const return AliExternalTrackParam::GetPredictedChi2(p, cov); } +//_______________________________________________________________ +Bool_t AliTRDtrackV1::IsElectron() const +{ +/* reco = fReconstructor->GetRecoParam(); + if(GetPID(0) > reco->GetPIDThreshold(GetP())) return kTRUE;*/ + return kFALSE; +} + //_____________________________________________________________________________ void AliTRDtrackV1::MakeBackupTrack() diff --git a/TRD/AliTRDtrackV1.h b/TRD/AliTRDtrackV1.h index ccf376607cd..124ca5d50d5 100644 --- a/TRD/AliTRDtrackV1.h +++ b/TRD/AliTRDtrackV1.h @@ -75,6 +75,7 @@ public: Bool_t IsOwner() const {return TestBit(kOwner);}; Bool_t IsStopped() const {return TestBit(kStopped);}; + Bool_t IsElectron() const; void MakeBackupTrack(); Bool_t PropagateTo(Double_t xr, Double_t x0 = 8.72, Double_t rho = 5.86e-3); diff --git a/TRD/qaRec/AliTRDcheckDetector.cxx b/TRD/qaRec/AliTRDcheckDetector.cxx index 185640ecda6..edeb60a8986 100644 --- a/TRD/qaRec/AliTRDcheckDetector.cxx +++ b/TRD/qaRec/AliTRDcheckDetector.cxx @@ -246,7 +246,7 @@ Bool_t AliTRDcheckDetector::PostProcess(){ } //_______________________________________________________ -void AliTRDcheckDetector::GetRefFigure(Int_t ifig, Int_t &first, Int_t &last){ +void AliTRDcheckDetector::GetRefFigure(Int_t ifig, Int_t &first, Int_t &last, Option_t *opt){ // // Setting Reference Figures // @@ -269,7 +269,7 @@ void AliTRDcheckDetector::GetRefFigure(Int_t ifig, Int_t &first, Int_t &last){ break; case 8: first = last = kChargeDeposit; break; - case 9: first = last = fContainer->GetEntries() - 1; + case 9: first = last = kPostProcessing; break; default: first = last = kNTracksEventHist; break; diff --git a/TRD/qaRec/AliTRDcheckDetector.h b/TRD/qaRec/AliTRDcheckDetector.h index 38121551113..80f4afd59cb 100644 --- a/TRD/qaRec/AliTRDcheckDetector.h +++ b/TRD/qaRec/AliTRDcheckDetector.h @@ -27,7 +27,8 @@ enum{ kNTracksSectorHist=7, kPulseHeight=8, kClusterCharge=9, - kChargeDeposit=10 + kChargeDeposit=10, + kPostProcessing=17 }; public: AliTRDcheckDetector(); @@ -38,7 +39,7 @@ public: virtual void Terminate(Option_t *); virtual Bool_t PostProcess(); - virtual void GetRefFigure(Int_t ifig, Int_t &first, Int_t &last); + virtual void GetRefFigure(Int_t ifig, Int_t &first, Int_t &last, Option_t *opt = "lp"); private: AliTRDcheckDetector(const AliTRDcheckDetector &); diff --git a/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.cxx b/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.cxx index 9727c4cc601..1a329c2f6c1 100644 --- a/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.cxx +++ b/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.cxx @@ -46,6 +46,7 @@ AliTRDtrackInfo::AliTRDtrackInfo(): ,fLabel(0) ,fNClusters(0) ,fNTrackRefs(0) + ,fTriggerClassName("") ,fTRDtrack(0x0) ,fOP(0x0) { @@ -67,6 +68,7 @@ AliTRDtrackInfo::AliTRDtrackInfo(Int_t pdg): ,fLabel(0) ,fNClusters(0) ,fNTrackRefs(0) + ,fTriggerClassName("") ,fTRDtrack(0x0) ,fOP(0x0) { @@ -88,6 +90,7 @@ AliTRDtrackInfo::AliTRDtrackInfo(const AliTRDtrackInfo &trdInfo): ,fLabel(trdInfo.fLabel) ,fNClusters(trdInfo.fNClusters) ,fNTrackRefs(trdInfo.fNTrackRefs) + ,fTriggerClassName(trdInfo.fTriggerClassName) ,fTRDtrack(0x0) ,fOP(0x0) { diff --git a/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.h b/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.h index c3c5270c183..bb65a0b0466 100644 --- a/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.h +++ b/TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.h @@ -42,6 +42,7 @@ public: Int_t GetPDG() const { return fPDG; } ULong_t GetStatus() const {return fStatus;} UChar_t GetTriggerCluster() const {return fTriggerCluster;} + TString GetTriggerClassName() const {return fTriggerClassName;} AliTRDseedV1* GetTracklet(Int_t entry) const; AliTRDtrackV1 * GetTRDtrack() const { return fTRDtrack; } AliTrackReference* GetTrackRef(Int_t entry) const; @@ -61,6 +62,7 @@ public: void SetStatus(ULong_t stat) {fStatus = stat;} void SetTrackId(Int_t id) {fId = id;} void SetTriggerCluster(Int_t clusterPattern){fTriggerCluster = clusterPattern;} + void SetFiredTriggerClass(TString classname){ fTriggerClassName = classname; } void SetTRDtrack(const AliTRDtrackV1 *track); private: @@ -75,6 +77,7 @@ private: Int_t fLabel; // MC label Int_t fNClusters; // Numer of clusters from refit Int_t fNTrackRefs; // number of track refs + TString fTriggerClassName; // Name of the fired trigger class AliTrackReference *fTrackRefs[12]; // no of track refs AliTRDtrackV1 *fTRDtrack; // no of tracklets AliExternalTrackParam *fOP; // outer param if no tracklets diff --git a/TRD/qaRec/AliTRDtrackInfoGen.cxx b/TRD/qaRec/AliTRDtrackInfoGen.cxx index f51cb71033d..862b0caa17c 100644 --- a/TRD/qaRec/AliTRDtrackInfoGen.cxx +++ b/TRD/qaRec/AliTRDtrackInfoGen.cxx @@ -258,6 +258,8 @@ void AliTRDtrackInfoGen::Exec(Option_t *){ fTrackInfo->SetTrackId(esdTrack->GetID()); fTrackInfo->SetLabel(label); fTrackInfo->SetNumberOfClustersRefit(esdTrack->GetNcls(2)); + fTrackInfo->SetFiredTriggerClass(fESD->GetFiredTriggerClasses()); + fTrackInfo->SetTriggerCluster(fESD->GetHeader()->GetTriggerCluster()); nclsTrklt = 0;