]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- include the 90% electron cut for the PID (only user interface; to be implemented by
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Sep 2008 13:33:26 +0000 (13:33 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Sep 2008 13:33:26 +0000 (13:33 +0000)
  Alex Wilk)
- add trigger name in the qaRec train (Markus)

TRD/AliTRDrecoParam.cxx
TRD/AliTRDrecoParam.h
TRD/AliTRDtrackV1.cxx
TRD/AliTRDtrackV1.h
TRD/qaRec/AliTRDcheckDetector.cxx
TRD/qaRec/AliTRDcheckDetector.h
TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.cxx
TRD/qaRec/AliTRDtrackInfo/AliTRDtrackInfo.h
TRD/qaRec/AliTRDtrackInfoGen.cxx

index 5084ecd4be6773f56b8a46f4214ccd62829338ef..67f5bedff9c184838ec69b34bad74e7275ce12b9 100644 (file)
@@ -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));
 }
 
 //______________________________________________________________
index 080c80ab9bc3d76f933e6695da80f3e9119e193c..4186f1f6912f77615bae14a4755c42369bff5c40 100644 (file)
@@ -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
index 3eaed3d17c30fc2dd32d0d73e2cc1326b45a6c3c..77cfdaa5d0affba8c87f61099193454301769d9f 100644 (file)
@@ -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()
index ccf376607cd3dac48a47611590852b17ae463bdc..124ca5d50d5a926fca4c44bf28fd37f1da4a476c 100644 (file)
@@ -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);
index 185640ecda62fbd2fbaec876e6d226abda6baad8..edeb60a8986395f704723379c49932a2f57ced77 100644 (file)
@@ -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;
index 38121551113be0b11fcd4ed4962e5992d45ca7c1..80f4afd59cbf34d1e59bad36c66656adcb5f50ee 100644 (file)
@@ -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 &);
index 9727c4cc6013c868fc875f687193efa8a4dbb991..1a329c2f6c10744a200b2e2f938a7121bc118217 100644 (file)
@@ -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)
 {
index c3c5270c183e00df7f1bb05dfa787294fbee8cc1..bb65a0b0466b2492e1902ada4acc1771d5c35da0 100644 (file)
@@ -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
index f51cb71033d107cf828ee88de71800456fdb0e2c..862b0caa17c61fe3f5bf1e8326391ab98947fa79 100644 (file)
@@ -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;