]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONChamberCalibrationTask.cxx
- update track cuts
[u/mrichter/AliRoot.git] / MUON / AliMUONChamberCalibrationTask.cxx
index 47db979fe965e0fd5389ee3bee2ca2f542da5f17..db4ca9f28b14744bdf15485e34a9529e9d864b84 100644 (file)
@@ -25,7 +25,7 @@
 
 #include <TBranch.h>
 #include <TChain.h>
-#include <TClonesArray.h>
+#include <TObjArray.h>
 #include <TFile.h>
 #include <TMath.h>
 #include <TRandom.h>
 
 // STEER includes
 #include "AliCDBManager.h"
+#include "AliGRPManager.h"
 #include "AliESDEvent.h"
 #include "AliESDInputHandler.h"
 #include "AliESDtrack.h"
 #include "AliESDMuonTrack.h"
 #include "AliLog.h"
-#include "AliMagF.h"
 #include "AliRecoParam.h"
 #include "AliTracker.h"
 
@@ -77,7 +77,7 @@ ClassImp( AliMUONChamberCalibrationTask )
 AliMUONChamberCalibrationTask::AliMUONChamberCalibrationTask():
   AliAnalysisTaskSE( "AliMUONChamberCalibrationTask" ),
   fOCDBPath( "local://$ALICE_ROOT/OCDB" ),
-  fCalibChoice(NOGAIN),
+  fCalibChoice(kNOGAIN),
   fClusterInfoTree(0x0),
   fMuonRecoParam(0x0),
   fClusterInfo(0x0),
@@ -91,9 +91,6 @@ AliMUONChamberCalibrationTask::AliMUONChamberCalibrationTask():
   /// Default constructor
   //
 
-  fClusterInfo = new AliMUONClusterInfo();
-  fESDInterface = new AliMUONESDInterface();
-
 }
 
 //______________________________________________________________
@@ -102,7 +99,7 @@ AliMUONChamberCalibrationTask::AliMUONChamberCalibrationTask( const char* name,
                                                              const Int_t my_calib_option ):
   AliAnalysisTaskSE( name ),
   fOCDBPath( "local://$ALICE_ROOT/OCDB" ),
-  fCalibChoice(NOGAIN),
+  fCalibChoice(kNOGAIN),
   fClusterInfoTree(0x0),
   fMuonRecoParam(0x0),
   fClusterInfo(0x0),
@@ -116,15 +113,13 @@ AliMUONChamberCalibrationTask::AliMUONChamberCalibrationTask( const char* name,
   /// constructor
   //
 
-  fClusterInfo = new AliMUONClusterInfo();
-  fESDInterface = new AliMUONESDInterface();
   fOCDBPath = ocdbpath;
-  if ( (my_calib_option >= ((Int_t)NOGAIN)) && (my_calib_option <= ((Int_t)INJECTIONGAIN)) ) 
+  if ( (my_calib_option >= ((Int_t)kNOGAIN)) && (my_calib_option <= ((Int_t)kINJECTIONGAIN)) ) 
     fCalibChoice = (Calibration_t)my_calib_option;
   else {
     AliWarning( Form("Wrong value of the calibration option %d not within [%d, %d] !!! Will use NOGAIN", 
-                    my_calib_option, (Int_t)NOGAIN, (Int_t)INJECTIONGAIN ) );
-    fCalibChoice = NOGAIN;
+                    my_calib_option, (Int_t)kNOGAIN, (Int_t)kINJECTIONGAIN ) );
+    fCalibChoice = kNOGAIN;
   }
 }
 
@@ -162,20 +157,27 @@ void AliMUONChamberCalibrationTask::LocalInit()
 {
   //
   /// Initialization
+  /// Initialize the cluster info and the ESD interface
   /// Set the magnetic field, the mapping and the reconstruction parameters
   //
 
   AliDebug( 1, "" );
 
+  // initialize the cluster info and the ESD interface
+
+  fClusterInfo = new AliMUONClusterInfo();
+  fESDInterface = new AliMUONESDInterface();
+
   gRandom->SetSeed(0);
   
   // set mag field
 
   if ( !TGeoGlobalMagField::Instance()->GetField() ) {
     AliInfo( "Loading field map..." );
-    AliMagF* field = new AliMagF( "Maps","Maps", 2, 1., 1., 10., AliMagF::k5kG );
-    TGeoGlobalMagField::Instance()->SetField( field );
-    TGeoGlobalMagField::Instance()->Lock();
+    AliGRPManager *grpMan = new AliGRPManager();
+    grpMan->ReadGRPEntry();
+    grpMan->SetMagField();
+    delete grpMan;
   }
   
   // Load mapping
@@ -183,10 +185,9 @@ void AliMUONChamberCalibrationTask::LocalInit()
   AliCDBManager* man = AliCDBManager::Instance();
   man->SetDefaultStorage( fOCDBPath );
   man->SetSpecificStorage( "MUON/Calib/MappingData", fOCDBPath );
-  man->SetSpecificStorage( "MUON/Calib/Mapping", fOCDBPath );
-  man->SetSpecificStorage( "MUON/Calib/DDLStore", fOCDBPath );
-  man->Print();
+  man->SetSpecificStorage( "MUON/Calib/MappingRunData", fOCDBPath ); // for the manu serial numbers
   man->SetRun(0);
+  man->Print();
   if ( ! AliMpCDB::LoadDDLStore() ) {
     AliFatal( "Could not access mapping from OCDB !" );
     exit(-1); 
@@ -203,9 +204,9 @@ void AliMUONChamberCalibrationTask::LocalInit()
   TString caliboption4 = "INJECTIONGAIN";
 
   TString caliboption = caliboption1;
-  if ( fCalibChoice == GAINCONSTANTCAPA ) caliboption = caliboption2;
-  if ( fCalibChoice == GAIN ) caliboption = caliboption3;  
-  if ( fCalibChoice == INJECTIONGAIN ) caliboption = caliboption4;
+  if ( fCalibChoice == kGAINCONSTANTCAPA ) caliboption = caliboption2;
+  if ( fCalibChoice == kGAIN ) caliboption = caliboption3;  
+  if ( fCalibChoice == kINJECTIONGAIN ) caliboption = caliboption4;
   fMuonRecoParam->SetCalibrationMode(caliboption.Data());
 
   for (Int_t iCh=0; iCh<10; iCh++) {
@@ -367,8 +368,8 @@ void AliMUONChamberCalibrationTask::Exec( Option_t* /*option*/ )
                             ped->ValueAsFloatFast(manuChannel,1) ); // sigma
        padInfo.SetGain( gain->ValueAsFloatFast(manuChannel,0), // a0
                         gain->ValueAsFloatFast(manuChannel,1), // a1
-                        gain->ValueAsFloatFast(manuChannel,2), // threshold
-                        gain->ValueAsFloatFast(manuChannel,3) ); // fit quality
+                        (Int_t)gain->ValueAsFloatFast(manuChannel,2), // threshold
+                        (Int_t)gain->ValueAsFloatFast(manuChannel,3) ); // fit quality
        
        fClusterInfo->AddPad( padInfo );
       }