#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"
//______________________________________________________________
AliMUONChamberCalibrationTask::AliMUONChamberCalibrationTask():
AliAnalysisTaskSE( "AliMUONChamberCalibrationTask" ),
- fCalibChoice(NOGAIN),
- fCalibData(0x0),
+ fOCDBPath( "local://$ALICE_ROOT/OCDB" ),
+ fCalibChoice(kNOGAIN),
fClusterInfoTree(0x0),
+ fMuonRecoParam(0x0),
+ fClusterInfo(0x0),
+ fCalibData(0x0),
+ fESDInterface(0x0),
fDigitStore(0x0),
fESDInputHandler(0x0),
- fESDInputEvent(0x0),
- fMuonRecoParam(0x0),
- fOCDBPath( "local://$ALICE_ROOT/OCDB" )
+ fESDInputEvent(0x0)
{
//
/// Default constructor
//
- fClusterInfo = new AliMUONClusterInfo();
- fESDInterface = new AliMUONESDInterface();
-
}
//______________________________________________________________
char* ocdbpath,
const Int_t my_calib_option ):
AliAnalysisTaskSE( name ),
- fCalibData(0x0),
+ fOCDBPath( "local://$ALICE_ROOT/OCDB" ),
+ fCalibChoice(kNOGAIN),
fClusterInfoTree(0x0),
+ fMuonRecoParam(0x0),
+ fClusterInfo(0x0),
+ fCalibData(0x0),
+ fESDInterface(0x0),
fDigitStore(0x0),
fESDInputHandler(0x0),
- fESDInputEvent(0x0),
- fMuonRecoParam(0x0)
+ fESDInputEvent(0x0)
{
//
/// 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;
}
}
/// destructor
//
- if ( fMuonRecoParam ) delete fMuonRecoParam;
- if ( fClusterInfo ) delete fClusterInfo;
- if ( fESDInterface ) delete fESDInterface;
+ delete fMuonRecoParam;
+ delete fClusterInfo;
+ delete fESDInterface;
}
//______________________________________________________________
{
//
/// 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
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);
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++) {
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 );
}