Fixed coverty 'defects'
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Sep 2010 08:03:34 +0000 (08:03 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 28 Sep 2010 08:03:34 +0000 (08:03 +0000)
FMD/AliFMDAnaESD.cxx
FMD/AliFMDAnaRing.cxx
FMD/AliFMDBaseDA.cxx
FMD/AliFMDCalibFaker.cxx
FMD/AliFMDFancy.cxx
FMD/AliFMDHitDigitizer.cxx
FMD/AliFMDRawReader.cxx
FMD/flow/AliFMDFlowSplitter.cxx
FMD/flow/AliFMDFlowSplitter.h
FMD/scripts/MakeCalibration.C
FMD/scripts/MakeRecoParam.C

index 7212b80..c13ec24 100644 (file)
@@ -139,7 +139,9 @@ AliFMDAnaESD::AddRing(AliFMDAnaRing* ring)
   // Parameters:
   //     ring Ring object 
   //
-  fRing[FindRing(ring->Detector(),ring->Ring())] = ring;
+  Int_t idx = FindRing(ring->Detector(),ring->Ring());
+  if (idx < 0) return;
+  fRing[idx] = ring;
 }
 //____________________________________________________________________
 Int_t
index 59f83fa..437a016 100644 (file)
@@ -61,6 +61,7 @@ AliFMDAnaRing::AliFMDAnaRing()
   // Default constructor.  
   // Do not use.  
   // Used by ROOT I/O
+  for (int i = 0; i < 6; i++) fName[i] = '\0';
 }
 
 //____________________________________________________________________
@@ -162,6 +163,7 @@ AliFMDAnaRing::AliFMDAnaRing(const AliFMDAnaRing& o)
   fMult.SetXTitle("#eta");
   fMult.SetYTitle("#varphi");
   fMult.SetZTitle("dM_{ch}/d#eta");
+  for (int i = 0; i < 6; i++) fName[i] = o.fName[i];
 }
 
 //____________________________________________________________________
index 3e02e30..e9c1434 100644 (file)
@@ -205,7 +205,12 @@ void AliFMDBaseDA::Run(AliRawReader* reader)
   Bool_t sodread = kFALSE;
   
   for(Int_t i=0;i<3;i++) {
-    reader->NextEvent(); // Read Start-of-Run / Start-of-Files event
+    if (reader->NextEvent()) { 
+      // Read Start-of-Run / Start-of-Files event
+      AliWarning(Form("Failed to read the %d%s event",
+                     i+1, (i == 0 ? "st" : (i == 1 ? "nd" : "rd"))));
+      break;
+    }
     
     UInt_t eventType = reader->GetType();
     if(eventType == AliRawEventHeaderBase::kStartOfData || 
index 6e54ce6..825fccc 100644 (file)
@@ -265,7 +265,8 @@ AliFMDCalibDeadMap*
 AliFMDCalibFaker::MakeDeadMap() const
 {
   // Make the actual data
-  AliFMDCalibDeadMap*  deadmap  = new AliFMDCalibDeadMap;
+  AliFMDCalibDeadMap*  deadmap  = new AliFMDCalibDeadMap(0);
+  TRandom* random = new TRandom(0);
   for (UShort_t det = 1; det <= 3; det++) {
     Char_t rings[] = { 'I', (det == 1 ? '\0' : 'O'), '\0' };
     for (Char_t* ring = rings; *ring != '\0'; ring++) {
@@ -274,11 +275,12 @@ AliFMDCalibFaker::MakeDeadMap() const
       for (UShort_t sec = 0; sec < nSec; sec++) {
         for (UShort_t str = 0; str < nStr; str++) {
           deadmap->operator()(det, *ring, sec, str) = 
-           gRandom->Uniform(0, 1) < fDeadChance;
+           random->Uniform(0, 1) < fDeadChance;
         }
       }
     }
   }
+  if (AliDebugLevel() > 20) deadmap->Print();
   return deadmap;
 }
 
@@ -287,7 +289,7 @@ AliFMDCalibZeroSuppression*
 AliFMDCalibFaker::MakeZeroSuppression() const
 {
   // Make the actual data
-  AliFMDCalibZeroSuppression*  zs  = new AliFMDCalibZeroSuppression;
+  AliFMDCalibZeroSuppression*  zs  = new AliFMDCalibZeroSuppression(0);
   for (UShort_t det = 1; det <= 3; det++) {
     Char_t rings[] = { 'I', (det == 1 ? '\0' : 'O'), '\0' };
     for (Char_t* ring = rings; *ring != '\0'; ring++) {
index 152349c..65c53bb 100644 (file)
@@ -257,22 +257,22 @@ AliFMDFancy::Begin(Int_t event)
     MakeCanvas(which);
 
     AliFMDGeometry* geom = AliFMDGeometry::Instance();
-    AliFMDDetector* det;
-    if ((det = geom->GetDetector(1))) {
+    // AliFMDDetector* det;
+    if ((/*det =*/ geom->GetDetector(1))) {
       fPad->cd();
       fFMD1Pad = new TPad("FMD1", "FMD1", 0.0, 0.50, 0.5, 1.0, 0, 0);
       fFMD1Pad->Draw();
       fFMD1Pad->cd();
       fFMD1.Begin(event);
     }
-    if ((det = geom->GetDetector(2))) {
+    if ((/*det =*/ geom->GetDetector(2))) {
       fPad->cd();
       fFMD2Pad = new TPad("FMD2", "FMD2", 0.5, 0.50, 1.0, 1.0, 0, 0);
       fFMD2Pad->Draw();
       fFMD2Pad->cd();
       fFMD2.Begin(event);
     }
-    if ((det = geom->GetDetector(3))) {
+    if ((/*det =*/ geom->GetDetector(3))) {
       fPad->cd();
       fFMD3Pad = new TPad("FMD3", "FMD3", 0.0, 0.05, .5, .5, 0, 0);
       fFMD3Pad->Draw();
@@ -332,16 +332,16 @@ AliFMDFancy::End()
 {
   // Called at the end of an event 
   AliFMDGeometry* geom = AliFMDGeometry::Instance();
-  AliFMDDetector* det;
+  // AliFMDDetector* det;
   Int_t total = 0;
-  if ((det = geom->GetDetector(1))) {
+  if ((/*det =*/ geom->GetDetector(1))) {
     fFMD1Pad->cd();
     fFMD1.End();
     fFMD1Pad->Modified();
     fFMD1IHits.SetTitle(Form("# hits in FMD1I:  %5d", fFMD1.fNInnerHits));
     total += fFMD1.fNInnerHits;
   }
-  if ((det = geom->GetDetector(2))) {
+  if ((/*det =*/ geom->GetDetector(2))) {
     fFMD2Pad->cd();
     fFMD2.End();
     fFMD2Pad->Modified();
@@ -350,7 +350,7 @@ AliFMDFancy::End()
     total += fFMD2.fNInnerHits;
     total += fFMD2.fNOuterHits;    
   }
-  if ((det = geom->GetDetector(3))) {
+  if ((/*det =*/ geom->GetDetector(3))) {
     fFMD3Pad->cd();
     fFMD3.End();
     fFMD3Pad->Modified();
index 9b31d9e..5e400b1 100644 (file)
@@ -211,7 +211,7 @@ ClassImp(AliFMDHitDigitizer)
 
 //____________________________________________________________________
 AliFMDHitDigitizer::AliFMDHitDigitizer(AliFMD* fmd, Output_t  output)
-  : AliFMDBaseDigitizer("FMD", (fOutput == kDigits ? 
+  : AliFMDBaseDigitizer("FMD", (output == kDigits ? 
                                "FMD Hit->Digit digitizer" :
                                "FMD Hit->SDigit digitizer")),
     fOutput(output), 
index 38ec583..d3494a6 100644 (file)
@@ -573,7 +573,7 @@ Bool_t AliFMDRawReader::ReadSODevent(AliFMDCalibSampleRate* sampleRate,
     Int_t detID = fReader->GetDetectorID();
     if (detectors) detectors[map->DDL2Detector(ddl)-1] = kTRUE;
     AliFMDDebug(0, (" From reader: DDL number is %d , det ID is %d",ddl,detID));
-
+    
     ULong_t  nPayloadWords = streamer.GetRCUPayloadSizeInSOD();
     UChar_t* payloadData   = streamer.GetRCUPayloadInSOD();
     UInt_t*  payloadWords  = reinterpret_cast<UInt_t*>(payloadData);
@@ -717,7 +717,7 @@ Bool_t AliFMDRawReader::ReadSODevent(AliFMDCalibSampleRate* sampleRate,
       case 0x25: // FMD: Shift clk 
        shift_clk[board] = ((data >> 8 ) & 0xFF); 
        AliFMDDebug(30, ("Read shift_clk=%d for board 0x%02x", 
-                       shift_clk[board], board));
+                        shift_clk[board], board));
        break; 
       case 0x26: // FMD: Strips 
        strip_low[board]  = ((data >> 0 ) & 0xFF); 
@@ -732,7 +732,7 @@ Bool_t AliFMDRawReader::ReadSODevent(AliFMDCalibSampleRate* sampleRate,
       case 0x2B: // FMD: Sample clk 
        sample_clk[board] = ((data >> 8 ) & 0xFF); 
        AliFMDDebug(30, ("Read sample_clk=%d for board 0x%02x", 
-                       sample_clk[board], board));
+                        sample_clk[board], board));
        break; 
       case 0x2C: break; // FMD: Commands
       case 0x4B: // FMD: Cal events 
@@ -745,9 +745,10 @@ Bool_t AliFMDRawReader::ReadSODevent(AliFMDCalibSampleRate* sampleRate,
                       instruction,dataWord));
     } // End of loop over Result memory event
     
-    UShort_t det,sector;
-    Short_t strip;
-    Char_t ring;
+    UShort_t det    = 0;
+    UShort_t sector = 0;
+    Short_t  strip  = -1;
+    Char_t   ring   = '\0';
    
     const UInt_t boards[4] = {0,1,16,17};
     for(Int_t i=0;i<4;i++) {
index 65e4299..10f4c19 100644 (file)
@@ -37,7 +37,8 @@ AliFMDFlowSplitter::Select(ULong_t) const
   //   entry   The entry number 
   // Return 
   //   true if this should go in sub-event A 
-  return (Float_t(rand()) / RAND_MAX > 0.5);
+  // return (Float_t(rand()) / RAND_MAX > 0.5);
+  return fRandom.Uniform(0,1);
 }
 
 
index aa49c64..bef916f 100644 (file)
@@ -25,6 +25,9 @@
 #ifndef ROOT_TObject
 # include <TObject.h>
 #endif
+#ifndef ROOT_TRandom
+# include <TRandom.h>
+#endif
 class AliFMDFlowAxis;
 class TProfile;
 //
@@ -46,10 +49,15 @@ class AliFMDFlowSplitter : public TObject
 public:
   /** Constructor 
       @param axis Axis object */
-  AliFMDFlowSplitter() {}
+  AliFMDFlowSplitter() : fRandom(0) {}
+  /** Constructor 
+      @param axis Axis object */
+  AliFMDFlowSplitter(ULong_t seed) : fRandom(seed) {}
   /** Copy constructor 
       @param o Other splitter to copy from */
-  AliFMDFlowSplitter(const AliFMDFlowSplitter& o) : TObject(o) {}
+  AliFMDFlowSplitter(const AliFMDFlowSplitter& o) 
+    : TObject(o), fRandom(o.fRandom) 
+  {}
 
   /** Destructor */
   virtual ~AliFMDFlowSplitter() {}
@@ -72,6 +80,7 @@ public:
   /** Called at the end of an event */
   virtual void End() {}
 protected:
+  mutable TRandom fRandom;
   /** Reference to axis object */
   ClassDef(AliFMDFlowSplitter,1) // Split events
 };
index b3164ea..77823b7 100644 (file)
@@ -28,8 +28,8 @@ MakeCalibration(const char* base="local://$ALICE_ROOT/OCDB")
   gSystem->Load("libANALYSISalice.so");
   gSystem->Load("libFMDanalysis.so");
   gSystem->Load("libFMDutil.so");
-  AliFMDCalibFaker f(AliFMDCalibFaker::kAll, 0);
-  f.SetRunRange(0,999999);
+  AliFMDCalibFaker f(1<<AliFMDCalibFaker::kPulseGain, 0);
+  f.SetRunRange(0,999999999);
   f.SetGainSeed(AdcPerMip2Gain(60)); // From astrid test beam 
   f.SetThresholdFactor(3);
   f.SetPedestalRange(80,130); // From ASTRID test-beam
index b75bbbd..8f12bd0 100644 (file)
@@ -41,7 +41,7 @@ MakeRecoParam(AliRecoParam::EventSpecie_t thedefault=AliRecoParam::kLowMult)
   for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) {
     AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i);
     if (!param) continue;
-    if (thedefault & param->GetEventSpecie()) {
+    if (thedefault == param->GetEventSpecie()) {
       param->SetAsDefault();
       defaultIsSet = kTRUE;
     }
@@ -54,7 +54,7 @@ MakeRecoParam(AliRecoParam::EventSpecie_t thedefault=AliRecoParam::kLowMult)
 
   //AliFMDRecoParam param;
   //param.SetEventSpecie(AliRecoParam::kLowMult) ;
-  AliCDBId        id("FMD/Calib/RecoParam",0,999999);
+  AliCDBId        id("FMD/Calib/RecoParam",0,999999999);
   AliCDBMetaData  meta;
   
   meta = new AliCDBMetaData;