* provided "as is" without express or implied warranty. *
**************************************************************************/
-/* $Id$ */
+// $Id$
/**
* @file AliHLTMUONConstants.h
* @author Indranil Das <indra.das@saha.ac.in>,
* Artur Szostak <artursz@iafrica.com>
- * @date
+ * @date 17 May 2007
* @brief Class containing various dimuon HLT constants used in the system.
*/
+#include "TObject.h"
+
// Forward declare structures.
extern "C" {
struct AliHLTComponentDataType;
struct AliHLTMUONTriggerRecordStruct;
struct AliHLTMUONTrigRecInfoStruct;
-struct AliHLTMUONTriggerChannelStruct;
struct AliHLTMUONRecHitStruct;
struct AliHLTMUONChannelStruct;
struct AliHLTMUONClusterStruct;
struct AliHLTMUONMansoTrackStruct;
struct AliHLTMUONMansoRoIStruct;
struct AliHLTMUONMansoCandidateStruct;
+struct AliHLTMUONTrackStruct;
struct AliHLTMUONTrackDecisionStruct;
struct AliHLTMUONPairDecisionStruct;
} // extern "C"
return fgkNilTrigRecInfoStruct;
}
- static const AliHLTMUONTriggerChannelStruct& NilTriggerChannelStruct()
- {
- return fgkNilTriggerChannelStruct;
- }
-
static const AliHLTMUONRecHitStruct& NilRecHitStruct()
{
return fgkNilRecHitStruct;
return fgkNilMansoCandidateStruct;
}
+ static const AliHLTMUONTrackStruct& NilTrackStruct()
+ {
+ return fgkNilTrackStruct;
+ }
+
static const AliHLTMUONTrackDecisionStruct& NilTrackDecisionStruct()
{
return fgkNilTrackDecisionStruct;
return fgkNilPairDecisionStruct;
}
- static const AliHLTComponentDataType& TriggerDDLRawDataType()
- {
- return fgkTriggerDDLRawDataType;
- }
-
- static const AliHLTComponentDataType& TrackingDDLRawDataType()
+ // Returns the raw data type for MUON DDLs. To figure out if the DDL format
+ // will be for a tracking DDL or trigger DDL one needs to also check the
+ // sepcification word of the input data block. If one of the first 20 least
+ // significant bits are set then it is a tracker DDL otherwise if it is
+ // the 21st or 22nd bit then it is from the muon trigger.
+ static const AliHLTComponentDataType& DDLRawDataType()
{
- return fgkTrackingDDLRawDataType;
+ return fgkDDLRawDataType;
}
static const AliHLTComponentDataType& TriggerRecordsBlockDataType()
return fgkTrigRecsDebugBlockDataType;
}
- static const AliHLTComponentDataType& TriggerChannelBlockDataType()
- {
- return fgkTriggerChannelBlockDataType;
- }
-
static const AliHLTComponentDataType& RecHitsBlockDataType()
{
return fgkRecHitsBlockDataType;
return fgkMansoCandidatesBlockDataType;
}
+ static const AliHLTComponentDataType& TracksBlockDataType()
+ {
+ return fgkTracksBlockDataType;
+ }
+
static const AliHLTComponentDataType& SinglesDecisionBlockDataType()
{
return fgkSinglesDecisionBlockDataType;
{
return fgkPairsDecisionBlockDataType;
}
+
+ static const AliHLTComponentDataType& RootifiedEventDataType()
+ {
+ return fgkRootifiedEventDataType;
+ }
+
+ static const AliHLTComponentDataType& ESDDataType()
+ {
+ return fgkESDDataType;
+ }
+
+ static const AliHLTComponentDataType& ClusterStoreDataType()
+ {
+ return fgkClusterStoreDataType;
+ }
+
+ static const AliHLTComponentDataType& HistogramDataType()
+ {
+ return fgkHistogramDataType;
+ }
static const char* RecHitsSourceId()
{
return fgkTriggerRecordsSourceId;
}
- static const char* MansoTracksSourceId()
+ static const char* TracksSourceId()
{
- return fgkMansoTracksSourceId;
+ return fgkTracksSourceId;
+ }
+
+ static const char* DigitPublisherId()
+ {
+ return fgkDigitPublisherId;
}
static const char* TriggerReconstructorId()
return fgkMansoTrackerFSMId;
}
+ static const char* FullTrackerId()
+ {
+ return fgkFullTrackerId;
+ }
+
static const char* DecisionComponentId()
{
return fgkDecisionComponentId;
}
+
+ static const char* ESDMakerId()
+ {
+ return fgkESDMakerId;
+ }
+
+ static const char* RootifierComponentId()
+ {
+ return fgkRootifierComponentId;
+ }
+
+ static const char* EmptyEventFilterComponentId()
+ {
+ return fgkEmptyEventFilterComponentId;
+ }
+
+ static const char* DataCheckerComponentId()
+ {
+ return fgkDataCheckerComponentId;
+ }
+
+ static const char* ClusterFinderId()
+ {
+ return fgkClusterFinderId;
+ }
+
+ static const char* RawDataHistogrammerId()
+ {
+ return fgkRawDataHistogrammerId;
+ }
+
+ static const char* ClusterHistogrammerId()
+ {
+ return fgkClusterHistogrammerId;
+ }
+
+ static const char* TriggerReconstructorCDBPath()
+ {
+ return fgkTriggerReconstructorCDBPath;
+ }
+
+ static const char* HitReconstructorCDBPath()
+ {
+ return fgkHitReconstructorCDBPath;
+ }
+
+ static const char* MansoTrackerFSMCDBPath()
+ {
+ return fgkMansoTrackerFSMCDBPath;
+ }
+
+ static const char* DecisionComponentCDBPath()
+ {
+ return fgkDecisionComponentCDBPath;
+ }
+
+ static const char* FieldIntegralsCDBPath()
+ {
+ return fgkFieldIntegralsCDBPath;
+ }
+
+ /// Returns the typical X (non-bending plane) resolution of the hit reconstruction (units = cm).
+ static double DefaultNonBendingReso() { return 0.144; }
+
+ /// Returns the typical Y (bending plane) resolution of the hit reconstruction (units = cm).
+ static double DefaultBendingReso() { return 0.01; }
private:
// Should never have to create, destroy or copy this object.
- AliHLTMUONConstants();
+ AliHLTMUONConstants() {}
AliHLTMUONConstants(const AliHLTMUONConstants& obj);
- ~AliHLTMUONConstants();
+ virtual ~AliHLTMUONConstants() {}
AliHLTMUONConstants& operator = (const AliHLTMUONConstants& obj);
+
// The following are null/nil structures that can also be used as sentinels:
static const AliHLTMUONTriggerRecordStruct fgkNilTriggerRecordStruct; // Nil trigger record.
static const AliHLTMUONTrigRecInfoStruct fgkNilTrigRecInfoStruct; // Nil trigger record debug information.
- static const AliHLTMUONTriggerChannelStruct fgkNilTriggerChannelStruct; // Nil trigger chamber channel.
static const AliHLTMUONRecHitStruct fgkNilRecHitStruct; // Nil reconstructed hit.
static const AliHLTMUONChannelStruct fgkNilChannelStruct; // Nil tracking chamber channel.
static const AliHLTMUONClusterStruct fgkNilClusterStruct; // Nil tracking chamber cluster.
static const AliHLTMUONMansoTrackStruct fgkNilMansoTrackStruct; // Nil manso track.
static const AliHLTMUONMansoRoIStruct fgkNilMansoRoIStruct; // Nil manso region of interest.
static const AliHLTMUONMansoCandidateStruct fgkNilMansoCandidateStruct; // Nil manso candidate track.
+ static const AliHLTMUONTrackStruct fgkNilTrackStruct; // Nil track structure.
static const AliHLTMUONTrackDecisionStruct fgkNilTrackDecisionStruct; // Nil decision for single track.
static const AliHLTMUONPairDecisionStruct fgkNilPairDecisionStruct; // Nil decision for track pair.
// HLT component input and output data block types:
- static const AliHLTComponentDataType fgkTriggerDDLRawDataType; // DDL packed data block type from dimuon trigger stations.
- static const AliHLTComponentDataType fgkTrackingDDLRawDataType; // DDL packed data block type from dimuon tracking stations.
+ static const AliHLTComponentDataType fgkDDLRawDataType; // DDL packed data block type from dimuon spectrometer.
static const AliHLTComponentDataType fgkTriggerRecordsBlockDataType; // Trigger records block type generated by trigger DDL translation components.
static const AliHLTComponentDataType fgkTrigRecsDebugBlockDataType; // Debugging information block type generated by trigger DDL translation components.
- static const AliHLTComponentDataType fgkTriggerChannelBlockDataType; // Debugging information about the channels from the hardware trigger.
static const AliHLTComponentDataType fgkRecHitsBlockDataType; // Reconstructed hits block type generated by hit reconstruction components.
static const AliHLTComponentDataType fgkClusterBlockDataType; // Debugging information block type for reconstructed hit clusters.
static const AliHLTComponentDataType fgkChannelBlockDataType; // Debugging information block type for channels corresponding to clusters.
static const AliHLTComponentDataType fgkMansoTracksBlockDataType; // Manso tracks block type generated by Manso tracker components.
static const AliHLTComponentDataType fgkMansoCandidatesBlockDataType; // Debugging information about a track candidate generated by the Manso algorithm.
+ static const AliHLTComponentDataType fgkTracksBlockDataType; // Full tracks block type generated by the tracker components.
static const AliHLTComponentDataType fgkSinglesDecisionBlockDataType; // Trigger decision block type for single track decisions.
static const AliHLTComponentDataType fgkPairsDecisionBlockDataType; // Trigger decision block type for pairs of particles.
+ static const AliHLTComponentDataType fgkRootifiedEventDataType; // An AliHLTMUONEvent ROOT object.
+ static const AliHLTComponentDataType fgkESDDataType; // The ESD data type with origin equal to MUON.
+ static const AliHLTComponentDataType fgkClusterStoreDataType; // Offline algorithm cluster store object.
+ static const AliHLTComponentDataType fgkHistogramDataType; // TH1/2/3 histogram type.
// Component ID names:
static const char* fgkRecHitsSourceId; // Name of source component for reconstructed hits for debugging.
static const char* fgkTriggerRecordsSourceId; // Name of source component for trigger records for debugging.
- static const char* fgkMansoTracksSourceId; // Name of source component for Manso tracks for debugging.
+ static const char* fgkTracksSourceId; // Name of source component for tracks for debugging.
+ static const char* fgkDigitPublisherId; // Component name for publishing DDL streams from digits.
static const char* fgkTriggerReconstructorId; // Trigger record reconstructor component name.
static const char* fgkHitReconstructorId; // Centre of gravity cluster finder component name.
static const char* fgkMansoTrackerFSMId; // Manso tracker FSM implementation component name.
+ static const char* fgkFullTrackerId; // Full tracker implementation component name.
static const char* fgkDecisionComponentId; // dHLT decision component name.
+ static const char* fgkESDMakerId; // Name of ESD maker component which converts dHLT data to AliESDEvent classes.
+ static const char* fgkRootifierComponentId; // The name of the event filter debugging component.
+ static const char* fgkEmptyEventFilterComponentId; // The name of the event filter debugging component.
+ static const char* fgkDataCheckerComponentId; // Name of data checking component for debugging.
+ static const char* fgkClusterFinderId; // Name of cluster finder implementing offline algorithms.
+ static const char* fgkRawDataHistogrammerId; // Raw data histogrammer component name.
+ static const char* fgkClusterHistogrammerId; // Cluster data histogrammer component name.
+
+ // CDB path entries to configuration information.
+ static const char* fgkTriggerReconstructorCDBPath; // Path to CDB entry for the trigger reconstruction component.
+ static const char* fgkHitReconstructorCDBPath; // Path to CDB entry for the hit reconstruction component.
+ static const char* fgkMansoTrackerFSMCDBPath; // Path to CDB entry for the Manso FSM tracker component.
+ static const char* fgkDecisionComponentCDBPath; // Path to CDB entry for trigger decision component.
+ static const char* fgkFieldIntegralsCDBPath; // Path to CDB entry for magnetic field integrals.
+
+ ClassDef(AliHLTMUONConstants, 0); // Interface class to dHLT constants.
};
#endif // ALIHLTMUONCONSTANTS_H