]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updated track matching parameters
authorjklay <jklay@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Apr 2009 04:18:05 +0000 (04:18 +0000)
committerjklay <jklay@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 30 Apr 2009 04:18:05 +0000 (04:18 +0000)
EMCAL/AliEMCALRecParam.cxx
EMCAL/AliEMCALRecParam.h
EMCAL/AliEMCALTracker.cxx
EMCAL/AliEMCALTracker.h
EMCAL/macros/RecParamDB/AliEMCALSetRecParamCDB.C

index 1891ee06ce86f9b358993db9ea915e1ebe37a173..71ab3843558412970923b423aee016ba7725f580 100644 (file)
@@ -45,7 +45,9 @@ AliEMCALRecParam::AliEMCALRecParam() :
   fTrkCutR(10.0),
   fTrkCutAlphaMin(-50.0), 
   fTrkCutAlphaMax(50.0), 
-  fTrkCutAngle(10000.0), //track matching
+  fTrkCutAngle(10000.0),
+  fTrkCutNITS(3.0),
+  fTrkCutNTPC(20.0), //track matching
   fHighLowGainFactor(16.0), 
   fOrderParameter(2), 
   fTau(2.35), 
@@ -178,7 +180,9 @@ AliEMCALRecParam::AliEMCALRecParam(const AliEMCALRecParam& rp) :
   fTrkCutR(rp.fTrkCutR),
   fTrkCutAlphaMin(rp.fTrkCutAlphaMin), 
   fTrkCutAlphaMax(rp.fTrkCutAlphaMax), 
-  fTrkCutAngle(rp.fTrkCutAngle), //track matching
+  fTrkCutAngle(rp.fTrkCutAngle),
+  fTrkCutNITS(rp.fTrkCutNITS),
+  fTrkCutNTPC(rp.fTrkCutNTPC), // track matching
   fHighLowGainFactor(rp.fHighLowGainFactor), 
   fOrderParameter(rp.fOrderParameter), 
   fTau(rp.fTau), 
@@ -217,7 +221,9 @@ AliEMCALRecParam& AliEMCALRecParam::operator = (const AliEMCALRecParam& rp)
     fTrkCutR = rp.fTrkCutR;
     fTrkCutAlphaMin = rp.fTrkCutAlphaMin;
     fTrkCutAlphaMax = rp.fTrkCutAlphaMax;
-    fTrkCutAngle = rp.fTrkCutAngle; //track matching
+    fTrkCutAngle = rp.fTrkCutAngle;
+    fTrkCutNITS = rp.fTrkCutNITS;
+    fTrkCutNTPC = rp.fTrkCutNTPC; //track matching
     fHighLowGainFactor = rp.fHighLowGainFactor; 
     fOrderParameter = rp.fOrderParameter;
     fTau = rp.fTau;
@@ -291,7 +297,7 @@ void AliEMCALRecParam::Print(Option_t *) const
   AliInfo(Form("Clusterization parameters :\n fClusteringThreshold=%.3f,\n fW0=%.3f,\n fMinECut=%.3f,\n fUnfold=%d,\n fLocMaxCut=%.3f \n",
               fClusteringThreshold,fW0,fMinECut,fUnfold,fLocMaxCut));
 
-  AliInfo(Form("Track-matching cuts :\n x %f, y %f, z %f, R %f \n alphaMin %f, alphaMax %f, Angle %f\n", fTrkCutX, fTrkCutY, fTrkCutZ, fTrkCutR,fTrkCutAlphaMin,fTrkCutAlphaMax, fTrkCutAngle));
+  AliInfo(Form("Track-matching cuts :\n x %f, y %f, z %f, R %f \n alphaMin %f, alphaMax %f, Angle %f, NITS %f, NTPC %f\n", fTrkCutX, fTrkCutY, fTrkCutZ, fTrkCutR,fTrkCutAlphaMin,fTrkCutAlphaMax, fTrkCutAngle,fTrkCutNITS,fTrkCutNTPC));
 
   AliInfo(Form("PID parameters, Gamma :\n"));
   for(Int_t i = 0; i < 6; i++){
index 8e6cad227717c7e8b3931f6d87c85ddf044792a4..77fe01586eac6b41db33df3bfe843301ad772180 100644 (file)
@@ -61,6 +61,8 @@ public:
   void SetTrkCutAlphaMin(Double_t value) {fTrkCutAlphaMin = value;}
   void SetTrkCutAlphaMax(Double_t value) {fTrkCutAlphaMax = value;}
   void SetTrkCutAngle(Double_t value)    {fTrkCutAngle = value;}
+  void SetTrkCutNITS(Double_t value)        {fTrkCutNITS = value;}
+  void SetTrkCutNTPC(Double_t value)        {fTrkCutNTPC = value;}
   /* track matching cut getters */
   Double_t GetTrkCutX() const        {return fTrkCutX;}
   Double_t GetTrkCutY() const        {return fTrkCutY;}
@@ -69,6 +71,8 @@ public:
   Double_t GetTrkCutAlphaMin() const {return fTrkCutAlphaMin;}
   Double_t GetTrkCutAlphaMax() const {return fTrkCutAlphaMax;}
   Double_t GetTrkCutAngle() const    {return fTrkCutAngle;}
+  Double_t GetTrkCutNITS() const        {return fTrkCutNITS;}
+  Double_t GetTrkCutNTPC() const        {return fTrkCutNTPC;}
 
   //Raw signal fitting (Jenn)
   /* raw signal setters */
@@ -114,7 +118,9 @@ private:
   Double_t  fTrkCutAlphaMin;       // cut on 'alpha' parameter for track matching (min)
   Double_t  fTrkCutAlphaMax;       // cut on 'alpha' parameter for track matching (min)
   Double_t  fTrkCutAngle;          // cut on relative angle between different track points for track matching
-
+  Double_t  fTrkCutNITS;              // Number of ITS hits for track matching
+  Double_t  fTrkCutNTPC;              // Number of TPC hits for track matching
   //Raw signal fitting parameters (Jenn)
   Double_t fHighLowGainFactor;     //gain factor to convert between high and low gain
   Int_t    fOrderParameter;        //order parameter for raw signal fit
index 9e08247faa3f137ebe0318f277d1c7c77c1e8a8a..07f7d8dc316da677c672d763e82bd8ed6da63349 100644 (file)
@@ -72,6 +72,8 @@ AliEMCALTracker::AliEMCALTracker()
     fCutAlphaMax(200.0),
     fCutAngle(100.0),
     fMaxDist(10.0),
+    fCutNITS(3.0),
+    fCutNTPC(20.0),
     fRho(1.0),
     fX0(1.0),
     fTracks(0),
@@ -101,6 +103,8 @@ AliEMCALTracker::AliEMCALTracker(const AliEMCALTracker& copy)
     fCutAlphaMax(copy.fCutAlphaMax),
     fCutAngle(copy.fCutAngle),
     fMaxDist(copy.fMaxDist),
+    fCutNITS(copy.fCutNITS),
+    fCutNTPC(copy.fCutNTPC),
     fRho(copy.fRho),
     fX0(copy.fX0),
     fTracks((TObjArray*)copy.fTracks->Clone()),
@@ -130,6 +134,8 @@ AliEMCALTracker& AliEMCALTracker::operator=(const AliEMCALTracker& copy)
        fCutAlphaMax = copy.fCutAlphaMax;
        fCutAngle = copy.fCutAngle;
        fMaxDist = copy.fMaxDist;
+       fCutNITS = copy.fCutNITS;
+       fCutNTPC = copy.fCutNTPC;
        
        fTracks = (TObjArray*)copy.fTracks->Clone();
        fClusters = (TObjArray*)copy.fClusters->Clone();
@@ -161,7 +167,9 @@ void AliEMCALTracker::InitParameters()
   fCutAngle =  recParam->GetTrkCutAngle();
   fCutAlphaMin =  recParam->GetTrkCutAlphaMin();
   fCutAlphaMax =  recParam->GetTrkCutAlphaMax();
-  
+  fCutNITS = recParam->GetTrkCutNITS();
+  fCutNTPC = recParam->GetTrkCutNTPC();
+
 }
 //
 //------------------------------------------------------------------------------
@@ -439,6 +447,11 @@ Int_t AliEMCALTracker::PropagateBack(AliESDEvent* esd)
                trackID = track->GetSeedIndex();
                AliESDtrack *esdTrack = esd->GetTrack(trackID);
                if (!esdTrack) continue;
+
+               // cut on its and tpc track hits
+               if(esdTrack->GetNcls(0)<=fCutNITS)continue;
+               if(esdTrack->GetNcls(1)<=fCutNTPC)continue;
+
                if (TMath::Abs(esdTrack->GetLabel()) == cluster->Label()) {
                        esdTrack->SetEMCALcluster(cluster->Index());
                        nGood++;
index 31eb3ae3b2cdaffb57ffd873563073afd5651031..87934cb4c4a3763ef147af1244eaf0d9e58c6982 100644 (file)
@@ -62,6 +62,8 @@ public:
        void                SetCutZ(Double_t value) {fCutZ=value;}
        void                SetGeometry(AliEMCALGeometry *geom) {fGeom=geom;}
        void                SetMaxDistance(Double_t value) {fMaxDist=value;}
+       void                SetCutNITS(Double_t value) {fCutNITS=value;}
+       void                SetCutNTPC(Double_t value) {fCutNTPC=value;}
        void                SetNumberOfSteps(Int_t n) {fNPropSteps=n;if(!n)SetTrackCorrectionMode("NONE");}
        void                SetTrackCorrectionMode(Option_t *option);
        
@@ -142,7 +144,9 @@ private:
        Double_t    fCutAlphaMax;     // cut on difference between track 'alpha' and phi
        Double_t    fCutAngle;        // cut on angle between track projection and cluster
        Double_t    fMaxDist;         // maximum allowed total distance between track proj an cluster
-       
+       Double_t fCutNITS;         // mimimum number of track hits in the ITS
+       Double_t fCutNTPC;         // mimimum number of track hits in the TPC
+
        Double_t    fRho;             // energy correction: density
        Double_t    fX0;              // energy correction: radiation length
 
index e791f416fa4c1ac9d761dd33e565beadfdb6ac70..97054ee535bcd8096089352dcef767429d41529a 100644 (file)
@@ -47,6 +47,8 @@ void AliEMCALSetRecParamCDB(AliRecoParam::EventSpecie_t default = AliRecoParam::
     recParamDB->SetTrkCutR(10.0);
     recParamDB->SetTrkCutAlphaMin(-50.0);
     recParamDB->SetTrkCutAlphaMax( 50.0);
+    recParamDB->SetTrkCutNITS(3.0);
+    recParamDB->SetTrkCutNTPC(20.0);
     recParamDB->SetTrkCutAngle(10000.0);      // i.e. exclude this for the moment
     
     //PID