]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
checks cell has not already been assigned to cluster higher energy seed (line 109...
authorfronchet <fronchet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Aug 2011 12:25:16 +0000 (12:25 +0000)
committerfronchet <fronchet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Aug 2011 12:25:16 +0000 (12:25 +0000)
HLT/CALO/AliHLTCaloClusterizerComponent.cxx
HLT/CALO/AliHLTCaloClusterizerNbyN.cxx

index 50d4598699ae803aa0df3033a02e2f51894052d5..864ae9ceb1a91c98f7f369021540e8256411ea18 100644 (file)
@@ -218,37 +218,41 @@ AliHLTCaloClusterizerComponent::ScanConfigurationArgument(int argc, const char *
 
     if (argc <= 0) return 0;
 
-    int i=0;
-
-    TString argument=argv[i];
-
-    if (argument.CompareTo("-digitthreshold") == 0)
-    {
-        if (++i >= argc) return -EPROTO;
-        argument = argv[i];
-        fClusterizerPtr->SetEmcMinEnergyThreshold(argument.Atof());
-        return 1;
-    }
-
-    if (argument.CompareTo("-recpointthreshold") == 0)
-    {
-        if (++i >= argc) return -EPROTO;
-        argument = argv[i];
-        fClusterizerPtr->SetEmcClusteringThreshold(argument.Atof());
-        return 1;
-    }
-
-    if (argument.CompareTo("-cutonsinglecell") == 0)
-    {
-        if (++i >= argc) return -EPROTO;
-        argument = argv[i];
-        fAnalyserPtr->SetCutOnSingleCellClusters(true, argument.Atof());
-        return 1;
-    }
-    if (argument.CompareTo("-sortbyposition") == 0)
-    {
-        fClusterizerPtr->SetSortDigitsByPosition();
-        return 1;
+    for(int i=0;i<argc;i++){
+      TString argument=argv[i];
+
+      if (argument.CompareTo("-digitthreshold") == 0)
+       {
+         if (++i >= argc) return -EPROTO;
+         argument = argv[i];
+         fClusterizerPtr->SetEmcMinEnergyThreshold(argument.Atof());
+       }
+
+      if (argument.CompareTo("-recpointthreshold") == 0)
+       {
+         if (++i >= argc) return -EPROTO;
+         argument = argv[i];
+         fClusterizerPtr->SetEmcClusteringThreshold(argument.Atof());
+       }
+
+      if (argument.CompareTo("-cutonsinglecell") == 0)
+       {
+         if (++i >= argc) return -EPROTO;
+         argument = argv[i];
+         fAnalyserPtr->SetCutOnSingleCellClusters(true, argument.Atof());
+       }
+
+      if (argument.CompareTo("-emctimegate") == 0)
+       {
+         if (++i >= argc) return -EPROTO;
+         argument = argv[i];
+         fClusterizerPtr->SetEmcTimeGate(argument.Atof());
+       }
+
+      if (argument.CompareTo("-sortbyposition") == 0)
+       {
+         fClusterizerPtr->SetSortDigitsByPosition();
+       }
     }
 
     return 0;
@@ -298,10 +302,7 @@ AliHLTCaloClusterizerComponent::DoInit(int argc, const char** argv )
 
     //  ConfigureFromCDBTObjString(path);
 
-    for (int i = 0; i < argc; i++)
-    {
-        ScanConfigurationArgument(i, argv);
-    }
+    ScanConfigurationArgument(argc, argv);
 
     return 0;
 }
index 080056791fbfc4f09b700a6ffec92e3deff8e401..eb5979e9bd95a099921686660046315efb8e77c2 100644 (file)
@@ -42,7 +42,6 @@ AliHLTCaloClusterizerNbyN::~AliHLTCaloClusterizerNbyN()
 
 Int_t AliHLTCaloClusterizerNbyN::ClusterizeEvent(Int_t nDigits)
 {
-
     //see header file for documentation
     Int_t nRecPoints = 0;
     fNRecPoints = 0;
@@ -106,7 +105,9 @@ Int_t AliHLTCaloClusterizerNbyN::ClusterizeEvent(Int_t nDigits)
         Int_t maxDiff = fN/2;
         for (Int_t j = 0; j < nDigits; j++)
         {
-            if (fDigitsPointerArray[j]->fEnergy < fEmcMinEnergyThreshold) break; // Sorted by energy
+         if (fDigitsPointerArray[j]->fEnergy < fEmcMinEnergyThreshold) break; // Sorted by energy
+             if(fDigitsPointerArray[j]->fAssociatedCluster!=-1) continue;//cell is already associated with a cluster (higher energy seed)
+             if(TMath::Abs(fRecPointDataPtr->fTime-fDigitsPointerArray[j]->fTime) >= fEmcTimeGate) continue;//time difference between cell and seed is larger than cut
 
             if (TMath::Abs(fDigitsPointerArray[i]->fX - fDigitsPointerArray[j]->fX) <= maxDiff
                     && TMath::Abs(fDigitsPointerArray[i]->fZ - fDigitsPointerArray[j]->fZ) <= maxDiff) // The digit is in our grid